Power menu. Für unsere Projekte hatten wir ein dauerbrennerproblem: Aktive Menupunkte. Michi hat ja bereits darüber berichtet. Sicher kennt jeder das Problem:
- Views anlegen, welche zum Beispiel alle Blogeinträge auflistet.
- Ein Menupunkt anlegen, welcher auf die Views linkt. Wenn ich auf der Views bin, dann wird der Menupunkt als aktiv markiert.
- Klicke ich jetzt auf einen Blogeintrag, dann ist der Menupunkt nicht mehr aktiv.
Das ist eigentlich nicht wirklich so wie es sein sollte. Um das Problem zu lösen gibt es das Modul "Menutrails". Das erfüllt auch seine Dienste, aber ist leider nicht wirklich intuitiv. Denn, wenn ich einen neuen Menupunkt anlege, dann muss ich noch zu den diversesten anderen Orten gehen, um dort die entsprechenden Einstellungen zu tätigen. Dem Kunden zu erklären… äh… eher schlecht.
Daher ein alternativer Ansatz: Die Einstellungen direkt bei der Erstellung des Menupunktes vornehmen:
Ich kann ein Vokabular festlegen, welche die Navigationsstruktur abbildet. Es gibt auch ein Modul, welches erlaubt ein Menu aus einer Taxonomy generieren zu lassen. Das ist jedoch in vielen Fällen nicht sinnvoll, z.B. wenn ein Kontaktformular in der Navigation ist.
Also, aus dem selektierten Vokabular, können Terms und Inhaltstypen angewählt werden. Sobald ein Node kommt, welcher vom entsprechenden Inhaltstypen ist, oder einem gewählten Term zugehörig ist, wird der Menupunkt aktiv gesetzt. Zusätzlich können hier direkt URL Aliase erstellt werden. Dies ist dann nützlich, wenn man auf eine Views verlinken will, ein Argument übergeben will, der Pfad jedoch als Top Navigation vorhanden sein sollte, z.B. meine-views/sport -> /sport und meine-views/fashion -> /fashion
Um auf das Beispiel vom Anfang zurückzugehen. Ich könnte beim Erstellen des Menupunktes "Blog" den Inhaltstyp "Blog" anwählen.
Mittlerweile werden auch die Breadcrumps entsprechend dem Menu gesetzt. Noch ist es nicht richtig getestet, also ich würde mich freuen, wenn ein paar Leutchen das Modul mal anschauen würden. Über Feedback bin ich froh. Sobald ein paar Installationen vorhanden sind, werde ich das Modul in den Beta Status verlegen.