Drupal - 如何注册所有用户都可访问的MENU_CALLBACK(即使是匿名用户)?

时间:2010-04-29 05:25:57

标签: php drupal drupal-6

我正在尝试学习Drupal 6.我想使用hook_menu()将路径'/ topic'注册到一个MENU_CALLBACK。这就是我所拥有的:

function mymodule_menu() {
   $items = array()
   $items['foo'] = array( 
       'page callback' => 'show_page_foo',
       'access callback'   => 'user_access',
       'access arguments' => array('access foo content'),
       'type'     => MENU_CALLBACK 
     );
}
function show_page_foo() {
   //show foo page
}

这适用于已登录的用户。但是当我作为匿名用户访问路径时,它会显示“拒绝访问”消息。什么是“访问回调”和“访问参数”值才能让所有访问者都能访问它?

我记得我通过在Drupal 5中简单地说'access' => TRUE来完成这项工作。不再适用于Drupal 6。

2 个答案:

答案 0 :(得分:5)

您可以使用您展示的权限并向匿名用户授予权限。

您也可以

'access callback' => TRUE

答案 1 :(得分:1)

'access callback'应该是一个返回布尔值的函数,并且 'access callback' => TRUE可以正常使用。无论如何,我建议你不要使用常数值,以获得更清晰的访问控制。使用

'access callback' => 'user_access',
'access arguments' => array('access content'),
相反,这是一个足够通用的权限。或者尝试更好地满足您需求的许可。您可以省略访问回调本身,因为user_access用作默认值。