Dropdown Menü + Submenü

am 10.06.2010 - 08:34 Uhr in
Hi Leute,
ich hätte gerne ein Dropdown Menü und ein Submenü. Das Submenü soll nur auf den jeweiligen Seiten gezeigt wird.
Ich habe folgende Menüstruktur in den Hauptlinks:
Hauptlink 1
-- Ebene 1
---- Punkt 1
---- Punkt 2
---- Punkt 3
-- Ebene 2
---- Punkt 1
---- Punkt 2
-- Ebene 3
---- Punkt 1
---- Punkt 2
Hauptlink 2
-- Ebene 1
-- Ebene 2
-- Ebene 3
Hauptlink 3
Das mit den Submenüs ist kein Problem - da habe ich einfach die Quelle auf die Hauptlinks gelegt. Für das Dropdown wollte ich die Hauptlinks & Ebenen auf expanded/geöffnet setzen. Doch leider tut sich nichts. Ich bekomme keine < ul > im List Item und auch keine klasse expanded.
Woran kann das liegen?
Danke, monsi
- Anmelden oder Registrieren um Kommentare zu schreiben
Also ich habs jetzt zum Teil
am 10.06.2010 - 14:42 Uhr
Also ich habs jetzt zum Teil hinbekommen... ich musste die Navigation einfach in eine Region setzten, dann bekomme ich auch eine expanded Klasse und ein Untermenü ... Aber leider auch ein paar DIVs, welche ich eigentlich nicht bräuchte.
Vorher:
<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('id' => 'main-navi')) ?>
<?php endif; ?>
Nachher:
<?php if ($main_navi): ?>
<?php print $main_navi ?>
<?php endif; ?>
<?php if (!$main_navi): ?> <!-- if block in $nav, overrides default $primary and $secondary links -->
<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('id' => 'main-navi')) ?>
<?php endif; ?>
<?php endif; ?>
Dadurch verliere ich aber auch meine ID zum Menü, welche ich aber gerne hätte :-)
Weis jemand eine Lösung? Und ist das wirklich so, dass man die Navigation in eine Region legen muss, damit man die expanded Klasse und das Menü bekommt??
danke, Monsi
ich komme meinem Ziel näher
am 11.06.2010 - 07:51 Uhr
ich komme meinem Ziel näher :-) Ich habe in die template.php folgendes eingefügt:
<?php function theme_menu_tree($tree) {
$menu_name = '';
// This is such a huge hack:
$backtrace = debug_backtrace();
foreach (array_reverse($backtrace) as $call) {
if (!empty($call['function']) && $call['function'] == 'menu_tree') {
if (is_array($call['args'])) {
$menu_name = reset($call['args']);
break;
}
}
}
if ($menu_name == 'primary-links') {
// Do something different with the footer links here:
return '<ul class="main-navi">'. $tree .'</ul>';
}
else {
return '<ul class="menu">'. $tree .'</ul>';
}
} ?>
Damit überschreibe ich die standard Menu Klasse. Eine ID kann ich hier leider nicht einfügen, weil dann die ganzen Submenüs auch diese ID bekommen würden.
Weis jemand, wie ich dem ersten Level eine ID geben kann und den Submenüs dann Klassen?
monsi