Неопределенная ошибка смещения в Drupal 7 - PullRequest
2 голосов
/ 05 января 2012

Я пытался реализовать hook_menu в drupal.

function menufun_menu() {
    $items['menufun'] = array(
        'title' => 'Menu Fun',
        'title callback' => 'menufun_title',
        'page callback' => 'menufun_greeting',
        'file' => 'menufun_greeting.inc',
        'page arguments' => array('aaa', 'bbb', 'ccc', 'ddd'),
        'access callback' => 'user_access',
        'access arguments' => array('receive greeting'),
        'type' => MENU_NORMAL_ITEM,
        'weight' => -1,
    );

    $items['menufun/farewell'] = array(
        'title' => 'Farewell',
        'page callback' => 'menufun_farewell',
        'file' => 'menufun_greeting.inc',
        'access callback' => 'user_access',
        'access agruments' => array('receive greeting'),
        'type' => MENU_NORMAL_ITEM,
    );

    return $items;
}

Однако приведенный выше код будет обрабатывать эти 2 ошибки:

Notice: Undefined offset: 0 in _menu_check_access() (line 619 of /Applications/XAMPP/xamppfiles/htdocs/drupal/includes/menu.inc).
Notice: Undefined offset: 1 in _menu_check_access() (line 619 of /Applications/XAMPP/xamppfiles/htdocs/drupal/includes/menu.inc).

Вышеуказанные 2 ошибки не будут отображаться при изменении

'access callback' => 'user_access',

до

'access callback' => TRUE,

Но я уже вошел в систему как администратор, и я предоставляю права доступа всем пользователям, и я попытался перезагрузить модуль, попытался переустановить drupal, чтобы очистить базу данных, но я все еще получал те же ошибки, какие-либо советы?

1 Ответ

5 голосов
/ 05 января 2012

Вы неправильно написали "аргументы" во втором определении меню.

'access agruments' => array('receive greeting'),

Должно быть

'access arguments' => array('receive greeting'),

Когда вы переключили его на 'access callback' => TRUE,, он проигнорировал аргументы, потому что ему сказали, что ему не нужно делать никаких проверок, но при реальном обратном вызове он попытался найти access arguments, но не смог.

...