hello@eBugz.de
ebugz Top Feature

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

Einen Kommentar schreiben