Drupal 6 - getrenntes Untermenü
Die Situation:
Drupal kann verschachtelte Menüs problemlos darstellen. Für die meisten Standardmenüs sind die Bordmittel auch völlig ausreichend. Was aber wenn das Untermenü an einer räumlich völlig getrennten Stelle auftauchen soll? Beispielsweise soll die oberste Menüebene oben auf der Seite, das jeweilige Untermenü auf der rechten Seite dargestellt werden.
Für diesen Zweck habe ich eine kleine Funktion geschrieben, welche in der template.php des jeweiligen Themes eingefügt und in der page.tpl.php mit folgendem Code:
print themeSubMenu('primary-links');
// anstelle von 'primary-links' den Namen der betreffenden Navigation eintragen
aufgerufen werden kann.
Funktion für template.php
function themeSubMenu($values){
global $base_path;
$output = '';
$class='';
$menArr = menu_tree_page_data($values);
foreach($menArr as $key=>$value){
if($value['link']['in_active_trail'] == 1){
foreach($value['below'] as $subKey=>$subValue){
if($subValue['link']['in_active_trail'] == 1){
$class="hl";
}
$output.= '<li><a href="'.$base_path.drupal_get_path_alias($subValue['link']['link_path']).'"'.
.' class="'.$class.'">'.$subValue['link']['link_title'].'</a></li>';
}
}
}
return $output;
}
UPDATE 09.01.2009:
http://drupalmodules.com/module/menu-block
Dieses Modul stellt die gewünschte Funktionalität ebenfalls her. Hier muss jeder dann abwägen, ob er für diesen Zweck ein extra Modul installieren möchte.
Mehr Beiträge zum Thema:
http://www.drupalcenter.de/handbuch/5561

