Ошибка меню Drupal 7
Я написал собственный модуль для Drupal 7 и получил следующее предупреждение:
Warning: Invalid argument supplied for foreach() в функции menu_unserialize() (строка 400 в файле /var/www/auth/includes/menu.inc).
Мое hook_menu здесь:
function mnogomirauth2_menu() {
$menu['tables/udkservers'] = array(
'title' => 'udkserversTable',
'page callback' => '_menu_test',
'access arguments' => TRUE,
'type' => MENU_NORMAL_ITEM
);
return $menu;
}
function _menu_test()
{
echo "test";
}
Пожалуйста, скажите мне, что не так с этим кодом?
С наилучшими пожеланиями.
3 ответа
В соответствии с Drupal API для hook_menu
"аргументы доступа": массив аргументов для передачи в функцию обратного вызова доступа с подстановкой компонента пути, как описано выше. Если обратный вызов доступа наследуется (см. Выше), аргументы доступа будут наследоваться вместе с ним, если только он не переопределен в дочернем элементе меню.
Похоже, вы указали неверный аргумент TRUE
за access arguments
,
Приведенный ниже код решит эту проблему:
До:
'access arguments' => TRUE,
После:
'access arguments' => array('Your Permission'), //array(TRUE)
Код, который работает, следующий.
function mnogomirauth2_menu() {
$menu['tables/udkservers'] = array(
'title' => 'udkserversTable',
'page callback' => '_menu_test',
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM
);
return $menu;
}
Это обратный вызов доступа, который может быть числом. Если это оценивает TRUE
каждый пользователь имеет доступ к пункту меню; это оценивает FALSE
Ни один пользователь не имеет доступа к пункту меню.
Рекомендации
- Документация для hook_menu()