您在這裡

請問這種 tabs 的 menu 該如何產生

dennys's 的頭像
dennys 在 2007-12-03 (週一) 01:28 發表

附件檔案是 GeShi 的設定畫面, 我嘗試著去改 adsense 模組, 想把 channel 拆出來當成獨立的頁面, 基本上是可以用了, 從 menu 的 site configuration -> adsense 也會看到兩個 general 和 channels, 但是就是沒辦法像 GeShi 一樣直接可以用 tab 來選擇, 不知道這該如何設定呢?


$items[] = array(
'path' => 'admin/settings/adsense/general',
'title' => t('General settings'),
'description' => t('Configure Google AdSense.'),
'callback' => 'drupal_get_form',
'callback arguments' => 'adsense_admin_settings',
'access' => user_access('administer site configuration'),
'type' => MENU_DEFAULT_LOCAL_TASK,
);
$items[] = array(
'path' => 'admin/settings/adsense/channels',
'title' => t('Channels'),
'description' => t('Configure Google AdSense Channels.'),
'callback' => 'drupal_get_form',
'callback arguments' => 'adsense_admin_channels_settings',
'access' => user_access('administer site configuration'),
'type' => MENU_NORMAL_ITEM,
);

附加檔案大小
Image icon tabs_setting.gif6.03 KB

搞定了, 原來只要把 MENU_NORMAL_ITEM 改成 MENU_LOCAL_TASK 就可以了. 原理是, 第一個 menu 是 MENU_NORMAL_ITEM, 而要有 tab 效果的每個子 menu 都是 MENU_LOCAL_TASK, 而 default 先選好的就是 MENU_DEFAULT_LOCAL_TASK.

參考文件在這裡: http://api.drupal.org/api/group/menu/5

我是寫信去問 GeShi 的作者 ... :p