Menüebenen mit CSS formatieren ?
am 27.09.2005 - 16:55 Uhr in
Hallo liebe Community,
ich beschäftige mich erst seit ein paar Tagen mit Drupal.
Leider konnte ich in der Doku nichts zu folgendem Problem finden:
Ich würde gerne das Menü mit CSS formatieren.
Es soll je Subebene (evtl. zusätzlich auch je Kategorie) ein anderer Stil (in dem Fall Hintergrundfarbe) verwendet werden. Dazu ist es imho notwendig je Sub-Menüebene unterschiedliche CSS-Klassen definieren zu können.
Beispiel:
Autos - Ebene 0 blau
--billige Autos - Ebene 1 hellblau
----billig deutsche Autos - Ebene 2 weiss
Motorräder - Ebene 0 Rot
--billige Motorräder - Ebene 1 hellrot
----billige deutsche Motorräder - Ebene 2 weiss
Ich habe folgende Ansätze versucht und kam zu keiner Lösung:
1) Normales Drupalmenü
2) Modul sitemenu
3) Modul taxonomy_menu
Ich bekomme jedoch nie mehr Klasseninformationen als:
class="leaf"
class="expanded"
class="collapsed"
class="active"
Komischerweise auch keine Stilangaben vom taxonomy Modul.
Als quick & dirty Workaround habe ich die menu.inc um eine entsprechende Funktion erweitert, die mir je nach Subebene entsprechende Metainformationen liefert (z.B. menulevel0), diese sind aber hardcodiert, sprich das ganze ist ein übler Hack. Die Kategorieinfos fehlen mir noch. Zudem bin ich nicht glücklich mit der Idee core-Dateien zu patchen.
Bevor ich nun anfange Drupal umzuschreiben oder ein eigenes Modul zu planen =;-o meine Frage:
1) Gibt es ein Modul (oder eine Funktion) mit der ich die entsprechenden Metainformationen der HTML-Ausgabe hinzufügen kann ?
- Anmelden oder Registrieren um Kommentare zu schreiben
nicht so einfach
am 28.09.2005 - 07:42 Uhr
hmm
die cleverste Methode wäre, dem "ul" jeweils eine Klasse oder ID mitgeben zu können
Lösung (?)
alternativ könnte man dasselbe Spielchen mit der der theme_menu_item Funktion machen, die ist aber nur für die "li" Listenelemente zuständig, ist ebenfalls via template.php überschreibbar, an vernünftige CSS-Klassennamen käme man über eine String-Untersuchung des jeweiligen Links
wie immer wärs schön, wenn du deine Lösung hier dann posten würdest :-)
MfG Micha
- work in progress mit Langmi.de