3
我想在模塊的「node /%/ edit」頁面中添加一些名爲「cssswitch」的選項卡。 當我點擊「重建菜單」時,會顯示兩個新選項卡,但它們在編輯時顯示在所有節點上,而不僅僅顯示節點「cssswitch」。我只希望在編輯「cssswitch」類型的節點時顯示這些新選項卡。drupal hook_menu_alter()用於添加製表符
另一個問題是當我清除所有緩存時,標籤完全從所有編輯頁面中消失。以下是我寫的代碼。
function cssswitch_menu_alter(&$items) {
$node = menu_get_object();
//print_r($node);
//echo $node->type; //exit();
if ($node->type == 'cssswitch') {
$items['node/%/edit/schedulenew'] = array(
'title' => 'Schedule1',
'access callback'=>'user_access',
'access arguments'=>array('view cssswitch'),
'page callback' => 'cssswitch_schedule',
'page arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'weight'=>4,
);
$items['node/%/edit/schedulenew2'] = array(
'title' => 'Schedule2',
'access callback'=>'user_access',
'access arguments'=>array('view cssswitch'),
'page callback' => 'cssswitch_test2',
'page arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'weight'=>3,
);
}
}
function cssswitch_test(){
return 'test';
}
function cssswitch_test2(){
return 'test2';
}
感謝您的任何幫助。
+1 - 只需一個附加說明:'hook_menu_alter()'應該用於改變其他模塊提供的菜單條目。由於OP想添加新的條目,他應該使用'hook_menu()'來代替。 – 2010-05-20 20:12:47
謝謝,這正是我所期待的。我明白現在它是如何工作的。 – EricP 2010-05-20 20:29:41