Taxonomy-Menü als Baumstruktur
am 16.02.2010 - 23:07 Uhr in
Hallo Community,
ich habe ein bischen Schwierigkeiten, den richtigen Dreh bei der Strukturierung meiner Inhalte zu finden.
Ich habe 4 Inhaltstypen:
- News
- Berichte
- Sendungen
- Touren
Für jeden Typ habe ich ein View (Typ "Seite") erstellt, sodass diese auch in den Hauptlinks erscheinen. Über den Node-Typ filtere ich für die Seiten dann die entsprechenden Inhaltstypen.
Ich habe auf meiner Seite oben ein horizontales Menü, wo auch die einzelnen Hauptpunkte des Menüs erscheinen und wenn ich diese aufrufe, erscheinen auch die gewünschten Inhalte.
http://www.example.com/News -> alle News
http://www.example.com/Berichte -> alle Berichte
usw.
Jetzt möchte ich auf den jeweiligen Seiten das Menü auf der linken Seite noch einmal zusätzlich Vertikal anzeigen. Ruft man also auf der Startseite "News" auf, bekommt man die News aufgelistet und auf der linken Seite das Menü als Baum, wobei "News" auch aktiv ist.
Soweit, so gut.
Ich möchte nun folgende Menüstruktur aufbauen (exemplarisch angerissen):
- News
|- Volkswagen
|- Golf
|- Passat
|- Polo
|- Mercedes
|- A-Klasse
|- C-Klasse
|- S-Klasse
- Berichte
|- Volkswagen
|- Golf
|- Passat
|- Polo
|- Mercedes
|- A-Klasse
|- C-Klasse
|- S-Klasse
usw.
Die Untermenüs sollen sich wiederholen können. Optimalerweise lege ich diese nur einmal an, kann sie dann überall verwenden. Das ist aber kein Muss.
Von dem was ich bisher gelesen habe, ist das Taxonomy Menu hierfür das richtige Modul. Das habe ich auch eingerichtet und die Vokabulare entsprechend mit den Begriffen eingerichtet:
|- Volkswagen
|- Golf
|- Passat
|- Polo
|- Mercedes
|- A-Klasse
|- C-Klasse
|- S-Klasse
Im Menü (Administration) erscheint diese Baumstruktur nun auch wie gewünscht.
Jetzt zu meinem Problem: wie kann ich diese Struktur im Template ausgeben? Wenn ich auf "News" gehe, sollen die Untermenüs aufklappen. Tun sie aber nicht.
In der page.tpl.php gebe ich die Primary Links per...
if (isset($primary_links)) {
print theme('links', $primary_links, array('class' => 'links primary-links'));
}
...aus.
Wie komme ich aber nun an die Untermenüs ran?
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn alles schonmal soweit
am 26.02.2010 - 14:49 Uhr
Wenn alles schonmal soweit funktioniert, dann ist dein Problem, dass du mit dem Klick auf einen Menüpunkt auf die Seite des Views kommst. Die Hauptmenüpunkte zeigen also auf die Views. Die gleichnamigen Menüpunkte in dem vertikalen Menü zeigen aber auf die Taxonomy Terms. Deshalb erkennt das Menü-System nicht, dass es die Untermenüpukte aufmachen soll. Versuch mal den Pfad der Views mit den Pfaden der Hautpterms News, Berichte, usw. gleichzusetzen.
Für mich stellt sich allerdings die Frage warum die Hauptmenüpunkte vertikal nochmal wiederholst. Müsste doch nicht sein, oder ist es eine Vorgabe?
» forward-media.de Drupal Entwicklung | Drupal Tutorials
...
am 21.02.2010 - 14:23 Uhr
So!
Ja, das war eine Vorgabe aber ich konnte gegenargumentieren. Jetzt werden auf den einzelnen Seiten nur noch die jeweiligen Untermenüs angezeigt.
Für die jeweiligen Unterseiten habe ich dann Unter-Views erstellt, die dann den Filter um den jeweiligen Taxonomie-Begriff erweitern. Die Pfade in den Views habe ich, wie Du sagtest, gleichgesetzt (das war der Zündfunke).
Also...
View "News"
- Filter Nodetyp "News"
- Pfad "/news"
- Menüpunkt "News" in den Hauptlinks
Unter-View "Volkswagen"
- Filter Taxonomiebegriff "Volkswagen" (übersteuert)
- Pfad "/news/volkswagen"
- Menüpunkt "Volkswagen" in den Hauptlinks
Für die Menüs habe ich das menu_block Modul installiert. Für jede Seite (Berichte, News etc.) habe ich dann einen Menü-Block angelegt, der dann zur Anzeige jeweils einen Filter hat ("*news*", "*berichte*" usw.), wodurch die Menüs nur auf ihren jeweiligen Unterseiten erscheinen.
Nachteil dieser Vorgehensweise ist, dass es relativ aufwändig ist, neue Menüpunkte hinzuzufügen. Einem Redaktuer möchte ich das nicht zumuten, zumal dieser dann viel kaputt machen könnte.
Aber ich komme vorran und Drupal gefällt mir immer besser :D. Echt der Hammer
Danke