Drupal:hook_menu_alter在模块被禁用后仍然有效

时间:2009-08-25 20:15:55

标签: caching menu drupal-6 hook

由于某种原因,“创建内容”菜单项显示为Anon,即使该树或该路径中没有任何内容。 (Anon只能创建某种类型的内容,但已将其移至其自己的顶级导航项目。)

为了解决这个问题,我使用了hook_menu_alter():

/**
 * Remove "create content" from the menu if the user is anon
 */
function odp_menu_alter(&$items){
    global $user;
    if ($user->uid == 0) {
      unset($items['node/add']);
    } 
}

出于某种原因,这也影响了超级用户帐户。我用该代码禁用了模块。现在,创建内容链接又回来了,但它会导致此错误:

Fatal error: Unsupported operand types in modules\system\system.module on line 626

创建内容下方的所有子树链接仍然有效。

我刷了所有的缓存。发生了什么事?

1 个答案:

答案 0 :(得分:0)

您还运行了哪些其他第三方模块?听起来在某处有代码错误,但从这里诊断起来非常困难。

我会尝试在Drupal问题队列上发帖。