2008年11月3日 星期一

如何在Drupal中, 增加新的連結列 !


在Drupal中, 預設有主連結列及次連結列,有時我們需要增加連結列時,有什麼好方法呢?

假設我們要增加2個連結列:Top links & Footer links,步驟如下:
1. 在網站建增的選單中,增加2個選單 Top links & Footer links
 在此我們必須取得選單的編號,只要將滑鼠移到該選單的編輯時,下方會出現連結列
 在下圖中顯示.../admin/build/menu/menu/edit/94
 其中94就是我們要的選單編號
2. 在theme中的template.php,加入下列程式
 注意下方程式中紅色的90 & 94即是步驟1提及的選單編號
function _phptemplate_variables($hook, $vars = array()) {
switch ($hook) {
case 'page':
$vars['top_links'] = theme('simple_links', menu_top_links());
$vars['footer_links'] = theme('simple_links', menu_footer_links());
break;
}
return $vars;
}

function menu_top_links() {
$msm = 90; // 90 is Top links
return menu_primary_links(1, $msm);
}

function menu_footer_links() {
$msm = 94; // 94 is Footer links
return menu_primary_links(1, $msm);
}

function internet_music_simple_links($links) {
$output = '';
$count = 0;
foreach ($links as $level => $link) {
if ($count > 0) $output .= ' | ';
$output .= l($link['title'], $link['href'], $link['attributes']);
$count++;
}
return $output;
}

3.最後修改page.tpl.php,
 在表頭適當位置加入
 
<?php print $variables['top_links']; ?>
 在表尾適當位置加入
 
<?php print $variables['footer_links']; ?>
4.以上就可以使我們很有彈性的增加Top links & Footer links的子選單項目了

0 意見: