2010-08-18 5 views
1

모듈을 5에서 6으로 업그레이드했습니다. 하나만 문제가 있습니다 : 설정 페이지에 액세스 할 수는 있지만 내용을 볼 수는 없습니다. 이 내 코드입니다 :이 라인으로 문제가 원인이라고 생각맞춤 모듈에 대한 Acces/See 설정 페이지

function agbnagscreen_menu() { 
    global $user; 
    $items = array(); 

    if (agbnagscreen_nag($user)) { 
//  var_dump($_GET['q']); die(); 
     drupal_goto(sprintf('%s/%s', AGBNAGSCREEN_NAGURL, base64_encode($_GET['q']))); 
     die(); 
    } 

    $items['admin/settings/agbnagscreen'] = array(
    // 'path' => 'admin/settings/agbnagscreen', 
     'title' => 'AGB nagscreen', 
     'access callback' => user_access('Einstellungen von AGB aendern'), 
     //'access' => user_access('Einstellungen von AGB aendern'), 
     'page callback' => 'drupal_get_form', 
     'callback arguments' => array('agbnagscreen_settings_fapi'), 
    ); 

    $items[AGBNAGSCREEN_NAGURL] = array(
    // 'path' => AGBNAGSCREEN_NAGURL, 
     'title' => 'Allgemeine Geschaeftsbedingungen', 
     'access' => TRUE, 
     'callback' => 'drupal_get_form', 
     'callback arguments' => array('agbnagscreen_fapi'), 
     'type' => MENU_SUGGESTED_ITEM, 
    ); 

    return $items; 
} 

:

'page callback' => 'drupal_get_form', 

올바른인가요? 어떻게 쓸 수 있습니까?

답변

1

메뉴 시스템의 변경 사항을 이해하려면 Drupal menu system (Drupal 6.x) 핸드북 페이지를 읽고 싶을 수도 있습니다. hook_menu 구현에 몇 가지 문제가 있습니다.

  1. 상단 것이다 결코 화재에 조건부 : 드루팔 6 만 hook_menu() 메뉴가 재건 될 때, 아니 모든 페이지로드를 호출합니다.
  2. callback가 없습니다. page callback을 사용하십시오.
  3. page callback은 이 아니라 page arguments을 허용합니다.
  4. access : 사용 access callback입니다.
  5. access callback 항상 함수가 아닌 함수 이름을 포함하는 문자열이며 기본값은 "user_access"입니다. access arguments을 제공해야합니다.

당신의 hook_menu 구현의 수정 된 버전 일 수 있습니다 :

function agbnagscreen_menu() { 
    $items = array(); 

    $items['admin/settings/agbnagscreen'] = array(
    'title' => 'AGB nagscreen', 
    'access arguments' => array('Einstellungen von AGB aendern'), 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('agbnagscreen_settings_fapi'), 
); 

    $items[AGBNAGSCREEN_NAGURL] = array(
    'title' => 'Allgemeine Geschaeftsbedingungen', 
    'access arguments' => array('access content'), 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('agbnagscreen_fapi'), 
    'type' => MENU_SUGGESTED_ITEM, 
); 

    return $items; 
}