0

我的用户访问权限复选框不适用于管理员、经过身份验证的匿名用户。我创建了子模块并使用了 hook_permission,它还在管理员上显示复选框,但在选中和未选中时都不起作用。请给我解决方案?谢谢

4

1 回答 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 回答