「cssswitch」というモジュールの「node/%/edit」ページにいくつかのタブを追加したいと思います。「メニューの再構築」をクリックすると、2つの新しいタブが表示されますが、編集時に、ノード「cssswitch」だけでなく、すべてのノードに対して表示されます。これらの新しいタブは、「cssswitch」タイプのノードを編集するときにのみ表示されるようにします。
もう1つの問題は、すべてのキャッシュをクリアすると、タブがすべての編集ページから完全に消えてしまうことです。以下は私が書いたコードです。
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';
}
助けてくれてありがとう。