2010-08-18 64 views
1

我將模塊從5升級到6.我只有一個問題: 我可以訪問它的設置頁面,但無法看到它的內容。 這是我的代碼:訪問/請參閱自定義模塊的設置頁面

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. 頂部永遠不會在條件:Drupal的6只要求hook_menu()當菜單重建,而不是在每一頁上的負載。
  2. 沒有callback:使用page callback
  3. page callback接受page arguments而不是callback 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; 
} 
相關問題