595 Tage zuvor
Ok, here we go, new DhoniShow() version is out now, based on jquery and named Dhonishow Rock! Have fun.
608 Tage zuvor
Jeder der zum ersten Mal sein eigenes Theme in Drupal aufbaut, fragt sich: “Wie kann ich meine Navigation aufbauen? Wie kann ich einzelne Navigations-Ebenen separat ausgeben?”
Mit folgender Funktion ist es ganz einfach die Anfangs- und Endtiefe der Navigation, den Menü-Namen und zusätzliche html Attribute auszugeben.
function theme_menu ($start = 0, $depth = 100, $tree = "primary-links", $html = 'id="sub-navigation"', $current_depth = 0){
if(is_string($tree)) $tree = menu_tree_page_data($tree);
$print = ($current_depth >= $start && $current_depth <= $depth);
$output = "";
if($print) $output .= "<ul $html>";
foreach($tree as $leaf) {
if($print) $output .= "<li".($leaf["link"]["in_active_trail"] ? "class=‘active’").">";
if($print) $output .= l($leaf["link"]["title"], $leaf["link"]["link_path"]);
if($leaf["below"]) $output .= dhonishow_menu($start, $depth, $leaf["below"], $print ? "" : $html, $current_depth+1);
if($print) $output .= "</li>";
}
if($print) $output .= "</ul>";
return $output;
}
Diese Funktion einfach in die template.php Datei einfügen und dann im Template von einer beliebigen Stelle aufrufen.
Ich möchte nur die erste Ebene des Menüs “mein-menu-name” und der id=“navigation” ausgeben . Wie geht dies?
<?php print theme_menu(0, 0, "mein-menu-name", 'id="navigation"');?>
Ok das gleiche, aber alles von der zweiter Ebene ausgehend
<?php print theme_menu(1, 100, "mein-menu-name", 'id="sub-navigation"');?>