hook_menu_alter()响应不一致

时间:2011-11-30 14:32:20

标签: drupal drupal-6 drupal-hooks

需要这段代码的帮助,这些代码响应用户#1但不响应其他登录或匿名用户

function module_menu_alter(&$items) {
  $items["node/add/page"]['access callback'] = 'module_access_callback';
}

function module_access_callback(){    
  die('responding here - test');
}

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:0)

好的事实证明答案实际上非常简单......

您正在调用menu_get_object()来检索节点,但node/add/page上不存在任何节点。事实恰恰相反;在页面上有一个节点可用于添加节点是没有意义的,因为它尚未创建! 403是其副作用。

你需要根据其他一些价值做出访问决定(通常是登录用户和权限,因为@kiamlaluno在他的回答中做了很好的解释)。

另外请确保您从访问回调中返回TRUEFALSE,因为@kiamlaluno也声明:)

修改

只是说这部分是https://stackoverflow.com/questions/8342169/drupal-hook-menu-alter-menu-get-object-error的答案,这解释了为什么答案中提到的功能没有在问题中提及。