Drupal 简单的钩子菜单不做它应该做的事情
如果用户以管理员身份登录,则可以正常工作,但如果用户登录,则会向他们发送其配置文件页面。为什么?我可以检查哪些文件Drupal 简单的钩子菜单不做它应该做的事情,drupal,drupal-6,Drupal,Drupal 6,如果用户以管理员身份登录,则可以正常工作,但如果用户登录,则会向他们发送其配置文件页面。为什么?我可以检查哪些文件 $items['go/to/school'] = array( 'title' => 'Some page Title', 'page callback' => 'my_function', 'access callback' => 'my_access', 'type' => MENU_CALLBACK ); function my_fu
$items['go/to/school'] = array(
'title' => 'Some page Title',
'page callback' => 'my_function',
'access callback' => 'my_access',
'type' => MENU_CALLBACK
);
function my_function() {
echo "WHATS UP"; //NEVER SHOWS UP
}
您的回调函数myaccess()必须为该用户返回TRUE,否则该用户没有访问权限。此回调函数可以通过
访问参数
获取参数。当您不提供访问回调时
默认为函数用户访问($access\u string)
,在这种情况下,您仍然需要提供访问参数
,例如“访问内容”
还要注意的是,每次更改hook_menu-code后,您必须刷新菜单缓存,因为该缓存会大量退出。您的回调函数myaccess()必须为该用户返回TRUE,否则该用户没有访问权限。此回调函数可以通过
访问参数
获取参数。当您不提供访问回调时
默认为函数用户访问($access\u string)
,在这种情况下,您仍然需要提供访问参数
,例如“访问内容”
还要注意的是,每次更改hook_菜单代码后,您必须刷新菜单缓存,因为它被大量缓存。如果希望此页面对所有用户可见(登录或匿名),最简单的方法就是在访问回调中返回TRUE。例如:
'access callback' => TRUE,
function my_access() {
global $user;
return in_array('authenticated user', $user->roles);
}
否则,正如berkes所说,您的访问回调必须返回TRUE,该用户才能看到页面。例如:
'access callback' => TRUE,
function my_access() {
global $user;
return in_array('authenticated user', $user->roles);
}
如果用户具有“已验证用户”角色,则返回TRUE;如果没有,则返回FALSE。如果希望此页面对所有用户可见(登录或匿名),最简单的方法是在访问回调中返回TRUE。例如:
'access callback' => TRUE,
function my_access() {
global $user;
return in_array('authenticated user', $user->roles);
}
否则,正如berkes所说,您的访问回调必须返回TRUE,该用户才能看到页面。例如:
'access callback' => TRUE,
function my_access() {
global $user;
return in_array('authenticated user', $user->roles);
}
如果用户具有“已验证用户”角色,则返回TRUE;如果没有,则返回FALSE