Drupal 7 Hook_menu访问回调没有返回正确的布尔值。
在开始之前。是!缓存被清除..。很多。
我实现了一个简单的测试功能:
$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_access‘函数中调用'my_module_example_page’函数,它正确工作。
有人能说明为什么这在访问回调中不起作用吗?
也许和行动顺序有关?
缓存被清除。
发布于 2014-06-28 01:28:28
如果您检查菜单文档,您将看到以下代码:
function mymodule_menu() {
$items['abc/def'] = array(
'page callback' => 'mymodule_abc_view',
'page arguments' => array(1, 'foo'),
);
return $items;
}‘页面回调’接受一个字符串,这是回调函数的名称。要发送给该函数的参数在“页面参数”数组中提供。
编辑注意,您可能应该创建一个权限并将您的角色分配给该权限,然后检查该权限,而不是检查特定角色。
https://stackoverflow.com/questions/24461850
复制相似问题