drupal 7中未定义的偏移错误

Fra*_*ank 2 php drupal-7

我试图在drupal中实现hook_menu.

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;
}
Run Code Online (Sandbox Code Playgroud)

但是,上面的代码会出现这两个错误:

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).
Run Code Online (Sandbox Code Playgroud)

如果我改变,上述2个错误将不会显示

'access callback' => 'user_access',
Run Code Online (Sandbox Code Playgroud)

'access callback' => TRUE,
Run Code Online (Sandbox Code Playgroud)

但我已经以管理员身份登录,并且我向所有用户授予访问权限,并且我尝试重新加载模块,尝试重新安装drupal以使数据库保持干净,但我仍然遇到相同的错误,任何建议?

jpr*_*itt 5

你在第二个菜单定义中拼写错误的"参数".

'access agruments' => array('receive greeting'),
Run Code Online (Sandbox Code Playgroud)

应该

'access arguments' => array('receive greeting'),
Run Code Online (Sandbox Code Playgroud)

当你把它切换到'access callback' => TRUE,它时忽略了参数,因为它被告知它不需要做任何检查,但是实际的回调它试图找到access arguments但不能.