Отказ в доступе к панели администратора в Drupal - PullRequest
0 голосов
/ 15 апреля 2011

Добавлен новый пункт меню в hook_menu.Но пункт меню не отражается.Поэтому в модуле я добавил оператор как

function {module_name}_menu_alter(&$items) {
    $items['archives/faculty_article'] = array(
           'access callback'=>'archives_list_faculty_article',
         'access arguments'=>array(1),
        );
    $items['archives/faculty_article']['access callback'] = 'user_access';
}

Проблема возникла 1. Не удается получить доступ к панели администратора 2. Предупреждение пользователя: Таблица 'nodewords_custom' не существует, запрос: SELECT * FROM nodewords_custom ORDER BY weight ASC

Как я могу исправить проблему.

1 Ответ

1 голос
/ 15 апреля 2011

Вы очистили свой кэш меню после создания нового пункта меню в hook_menu ()? Это обязательно, если вы хотите, чтобы ваш новый пункт меню был оценен.

О вашем фрагменте кода в hook_menu_alter () вы не изменяете должным образом пункт меню, либо вы переписываете полные атрибуты элемента (заголовок, обратный вызов страницы, обратный вызов доступа и т. Д.), Либо просто перезаписываете один атрибут (например, что вы сделали для обратного вызова доступа). Если вы хотите переопределить два атрибута, вы должны сделать что-то вроде этого:

$items['archives/faculty_article']['access callback'] = 'user_access';
$items['archives/faculty_article']['access arguments'] = array('view');

После реализации hook_menu_alter () вы также должны очистить кеш.

Это для проблемы 1. Для проблемы 2 это означает, что вы неправильно установили ноды слов, попробуйте отключить их, удалить, а затем снова включить, чтобы попытаться устранить проблему. Это должно воссоздать таблицу для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...