Drupal 7 Drupal 7访问回调无法正常工作
Drupal 7 Hook_菜单访问回调未返回正确的布尔值 在我们开始之前。对缓存已清除。。。很多 我实现了一个简单的测试功能:Drupal 7 Drupal 7访问回调无法正常工作,drupal-7,access-control,anonymous,administrator,hook-menu,Drupal 7,Access Control,Anonymous,Administrator,Hook Menu,Drupal 7 Hook_菜单访问回调未返回正确的布尔值 在我们开始之前。对缓存已清除。。。很多 我实现了一个简单的测试功能: $items['tutor_review_selection'] = array( 'title' => t('example'), 'page callback' => 'my_module_example_page', 'access callback' => my_module_acc
$items['tutor_review_selection'] = array(
'title' => t('example'),
'page callback' => 'my_module_example_page',
'access callback' => my_module_access( array('administrator') ),
'type' => MENU_NORMAL_ITEM
);
function my_module_access( $roles ) {
global $user;
$check = array_intersect($roles, array_values($user->roles));
return empty( $check ) ? FALSE : TRUE;
}
对于登录和注销的用户,这将返回TRUE
这里是重要的部分:
我在“my_module_example_page”函数中调用了“my_module_access”函数,它工作正常
有人能解释一下为什么这在access回调中不起作用吗
也许和操作顺序有关
缓存已清除。如果您检查,您将看到以下代码:
function mymodule_menu() {
$items['abc/def'] = array(
'page callback' => 'mymodule_abc_view',
'page arguments' => array(1, 'foo'),
);
return $items;
}
“页面回调”接受一个字符串,该字符串是回调函数名。“页面参数”数组中提供了要发送到该函数的参数
编辑注意:您可能应该创建一个权限并将您的角色分配给该权限,然后检查权限,而不是检查特定角色。谢谢。测试,这是我的问题。你怎么会错过这么简单的事情。