Системная ошибка Drupal hook_menu_alter - PullRequest
0 голосов
/ 30 ноября 2011

Используя следующий код:

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

Я получаю следующую ошибку:

предупреждение: отсутствует аргумент 1 для node_access () в /var/www/vhosts/mysite.co.uk/httpdocs/modules/node/node.module онлайн 2011

Код на самом деле работает и делает то, что мне нужно, но ошибка касается меня и сбивает с толку пользователей моего сайта.

Я не уверен, что это за проблема или как ее решить. Кто-нибудь может предложить некоторую помощь?

1 Ответ

2 голосов
/ 30 ноября 2011

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;
  }
}
...