Drupal hook_menu_alter系统错误

时间:2011-11-30 09:38:21

标签: drupal drupal-6 drupal-hooks

使用以下代码:

function mymodule_menu_alter(&$items) {
    if (isset($items['node/add/page'])) {
        $items['node/add/page']['access arguments'] = FALSE;
    }
}

我收到以下错误:

  

警告:缺少node_access()的参数1   /var/www/vhosts/mysite.co.uk/httpdocs/modules/node/node.module上线   2011。

代码实际上可以正常工作并完成我需要它做的事情,但错误让我感到困惑并使我的网站用户感到困惑。

我不确定问题是什么或如何解决。有人可以提供一些帮助吗?

1 个答案:

答案 0 :(得分:2)

access arguments需要是一个数组:

function mymodule_menu_alter(&$items) {
  if (isset($items['node/add/page'])) {
    $items['node/add/page']['access arguments'] = array();
  }
}

如果您尝试拒绝任何人访问您的网页,请改为使用access callback密钥:

function mymodule_menu_alter(&$items) {
  if (isset($items['node/add/page'])) {
    $items['node/add/page']['access callback'] = FALSE;
  }
}