Aktiven Menü-Eintrag mit menu_get_active_item() ermitteln.

am 26.11.2006 - 15:50 Uhr in
Ich möchte das Menü so anpassen, dass die einzelnen Einträge weiterhin als
li mit class="leaf" erstellt werden, wobei ich allerdings den aktuell
geöffneten Eintrag mit der class "current-leaf" versehen will, um z.B. im Theme
den aktuellen Eintrag mit einer bestimmten Hintergrundfarbe zu versehen.
Die für die Erstellung des li-Tags zuständige Funktion ist
function theme_menu_item($mid, $children = '', $leaf = TRUE)
Zeile 683, includes/menu.inc
Der relevant Code schaut so aus:
return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
Da diese Funktion für jedes einzelne item ausgeführ wird sollte es ausreichen,
zu überprüfen ob das zu rendernde item ($mid) gleich dem aktuellen item (per menu_get_active_item()) ist.
Nun ist zwar der Wert von $mid immer korrekt, also die ID des zu rendernden items, menu_get_active_item() gibt aber immer -105 zurück, wenn es innerhalb von theme_menu_item($mid, $children = '', $leaf = TRUE)
aufgrufen wird.
Warum ist das so? Any ideas?
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 11 Stunden 57 Minuten
vor 12 Stunden 27 Minuten
vor 13 Stunden 52 Minuten
vor 14 Stunden 36 Minuten
vor 15 Stunden 6 Minuten
vor 15 Stunden 33 Minuten
vor 15 Stunden 54 Minuten
vor 17 Stunden 55 Minuten
vor 1 Tag 17 Stunden
vor 1 Tag 17 Stunden