0

使用以下代码:

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

我收到以下错误:

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

该代码实际上可以工作并且可以执行我需要它执行的操作,但是该错误与我有关并且使我的站点用户感到困惑。

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

4

1 回答 1

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;
  }
}
于 2011-11-30T10:00:19.260 回答