Menü Klasse für jedes Level
am 26.11.2009 - 09:03 Uhr in
Hi,
für viele von euch bestimmt ein Standardverfahren: ich würde gerne bei meinem Menüs jeweils bei den UL-Tags eine Klasse mit dem aktuellen Level des Menüs einfügen. Für Hautpebene level1, danach level2, etc.
Ich denke mal, dass Drupal sowas durchaus bewerktstelligen kann, nur finde ich einfach nicht die richtige Lösung. Ich hab mich schon bisschen durchgewühlt, weiß z.B. dass theme_menu_tree() die Ausgabe für den UL-Tag erzeugt. Allerdings wird dieser Funktion nur die Variable $tree übergeben, in der der fertige Baum schon vorhanden ist. Da müsste man doch irgendwo ansetzen können, oder nicht? Es gibt da ja noch die ganzen Funktionen in menu.inc wie menu_tree(), menu_tree_data(), etc. Allerdings schraube ich ungern an diesen rum bevor ich nicht weiß, dass es definitiv keinen anderen Weg gibt mein Problem zu lösen.
Vielleicht kann mir hier jemand einen Tip geben, wo ich weitersuchen soll ;)
Danke & viele Grüße
Martin
- Anmelden oder Registrieren um Kommentare zu schreiben

Tipp
am 26.11.2009 - 09:32 Uhr
Hallo.
Dein Ansatz war schon fast richtig, nur die verwendete Funktion passt noch nicht ganz.
In diesem Handbucheintrag auf drupal.org ist die Lösung beschrieben.
Zu finden war der Beitrag ganz einfach über google mit den Suchbegriffen "drupal menu item level class" (nur als Erklärung, wie ich darauf gekommen bin, und wie man bei derartigen Problemen mit den "richtigen" Suchbegriffen evtl. die Lösung finden kann).
hth,
Stefan
--
Sei nett zu Deinem Themer!
Hi Stefan, diese Anleitung
am 26.11.2009 - 09:42 Uhr
Hi Stefan,
diese Anleitung kenne ich schon. Ich hab sie allerdings wieder verworfen, da sie nur erklärt wie man im Link-Tag die Klasse hinzufügt. Ich benötige die Levelklasse allerdings direkt im UL-Tag und nicht im A-Tag eines jeden Menüeintrages. Und da hilft mir diese Anleitung nicht. Gibt es noch eine andere Lösung?
Menu - level
am 26.11.2009 - 10:13 Uhr
Ich benötige die Levelklasse allerdings direkt im UL-Tag und nicht im A-Tag eines jeden Menüeintrages.
Ah, ok. Da hatte ich etwas falsch verstanden.
Es ist mit den Boardmitteln von Drupal nicht möglich, das aktuelle Level als Klasse am
<ul>mitzugeben.Allerdings könntest Du das (als Notlösung) mittels jQuery machen.
Dazu musst Du eine Funktion basteln, die innerhalb der Blöcke alle
<ul>durchgeht und rekursiv das Level setzt.hth,
Stefan
--
Sei nett zu Deinem Themer!
Hm, das erstaunt mich jetzt
am 26.11.2009 - 10:20 Uhr
Hm,
das erstaunt mich jetzt doch ein wenig. War ich doch bisher so begeistert von Drupal, weil man wirklich alles umsetzen konnte. Die Notlösung ist wirklich nur eine Notlösung. Mal schaun, vielleicht krieg ich es doch irgendwie hin, wenn ich direkt die Funktionen in menu.inc bearbeite, was ich allerdings höchst ungern mache.
Viele Grüße
Martin