2012-01-05 2 views
2

drupal에서 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; 
} 

그러나, 위의 코드는이 두 오류를 구분합니다

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, 

하지만 이미 administato로 로그인했습니다. r 및 모든 사용자에게 액세스 권한을 부여하고 모듈을 다시로드하려고 했으므로 drupal을 다시 설치하여 데이터베이스를 깨끗하게 만들려고했으나 여전히 동일한 오류, 조언을 받았습니까?

답변

5

두 번째 메뉴 정의에서 "인수"의 철자가 잘못되었습니다.

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

당신이 'access callback' => TRUE,로 전환 할 때 그것은 그 어떤 검사를 할 필요가 없었다 들었다 있기 때문에 인수를 무시하지만, 실제 콜백으로 찾을 시도

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

이어야한다 access arguments하지만 그렇게 할 수는 없습니다.

+0

아 ... 알겠습니다. 고마워! – qkzhu

+0

도와 드리겠습니다! 그들이 미래에 사람들이 그것이 당신의 문제를 해결했는지를 알 수 있도록 대답을 받아 들인 것으로 표시하는 것을 잊지 마십시오. – jprofitt

+0

이해해 주셔서 감사합니다. :) – qkzhu

관련 문제