我的用户访问权限复选框不适用于管理员、经过身份验证的匿名用户。我创建了子模块并使用了 hook_permission,它还在管理员上显示复选框,但在选中和未选中时都不起作用。请给我解决方案?谢谢
问问题
167 次
1 回答
1
您可能因为没有代码示例而被否决。确实很难回答你的问题,但它很简单,所以我会试一试。
如果您在权限页面上看到复选框,那么我知道您的 hook_permission() 很可能已正确声明。
你没有提到你是如何检查权限的,所以我将通过两种方法:
1) 如果您使用的是 hook_menu(),请查看该access_arguments
行。这就是您为整个页面设置权限的方式。
function mymodule_menu() {
$items['abc/def'] = array(
'page callback' => 'mymodule_abc_view',
'access arguments' => array('administer my module')
);
return $items;
}
2)如果您想在一段代码中检查权限,作为条件,您可以这样使用它。
if (user_access('administer my module')) {
// show administrator stuff here
}
于 2013-02-28T16:44:18.997 回答