Blöcke ein- und ausblenden
am 01.10.2006 - 12:46 Uhr in
Hallo Forum,
ich habe gerade begonnen, mit Drupal zu experimentieren und habe folgende Frage, auf die ich hier im Forum noch keine Antwort gefunden habe: Ich möchte mir eine Menüstruktur erstellen, die folgendermaßen aussehen soll: Oben einige Primary-Links, zum Beispiel "Säugetiere", "Vögel", "Fische". Wenn nun einer der Primary-Links angwählt wird, soll links in der Sidebar ein Block mit einem Menü erscheinen (bei "Vögel" dann zum Beispiel mit den Einträgen "Pinguine", "Flamingos" und - was weiß ich - "Buchfinken"). Bei "Fische" soll dann ein Block mit einem Fisch-Menü erscheinen, und die Vögel verschwinden.
Nun habe ich mir für jeden Primary-Link ein Menü angelegt, außerdem habe ich ein Vokabular erzeugt, das die Einträge "Säugetiere", "Vögel" und "Fische" enthält. Beim Anlegen eines neuen Node weise ich die entsprechende Kategorie zu.
So weit, so gut. Jetzt muss ich es nur noch hinbekommen, dass die Blöcke mit den Menüs so ein- und ausgeblendet werden, wie ich mir das vorstelle. Jetzt kann ich natürlich bei den Einstellungen zum Block jede Seite einzeln angeben, bei der der Block erscheinen soll. Eleganter fände ich es, wenn ich "Diesen Block nur anzeigen, wenn der folgende PHP-Code TRUE zurückgibt (PHP-Modus für Experten)." anwählen würde. Nun würde ich einen PHP-Ausdruck eintragen, der so ungefähr folgendermaßen aussehen würde:
category = "Fische"
Da ich aber keine Ahnung von PHP habe: Könnte mir vielleicht jemand behilflich sein, diesen Ausdruck zu formulieren?
Oder ist das ganze Konzept Schwachsinn, und es geht viel einfacher? Oder viel komplizierter?
Viele Grüße von
SSt
- Anmelden oder Registrieren um Kommentare zu schreiben
Weniger kompliziert
am 01.10.2006 - 16:59 Uhr
Servus.
Wenn ich dich richtig verstehe, willst du eigentlich nur einen "abhängigen" Block, der sich je nach Wahl im Primary Menu ändert? Dann ist dein Klimmzug nicht erforderlich -- du musst nur zu den Primary Menus Sub-Einträge erstellen (das nennt sich dann halt Secondary Menus, die gibt es aber in der Admin-Oberfläche nirgends :)
Dann schaut die Struktur in den Primary Menus etwa so aus:
Säugetiere
- Hund
- Katze
- Kamel
Fische
- Hai
- Rochen
Vögel
- Buchfink
- Rotkehlchen
Die "Secondary Menus" werden zwar unter den Primary Menus eingetragen, beim Theme gibt es aber explizit den Term secondary_menus und die schalten dann eben je nach gewähltem Primary um. Die Position des secondary menu wird in page.tpl.php des Themas festgelegt, die Erscheinung in screen.css...
Wenn du noch einen dritten Block (z.B. innerhalb der Buchfinken) brauchen würdest, müsstest du über zusätzliche Blöcke nachdenken.
Hoffe, das hilft,
Norbert
Habe ich noch nicht ganz kapiert ...
am 02.10.2006 - 11:46 Uhr
Äääähm. Äääähm?
Jetzt habe ich den Primary-Links eine weitere Ebene von Einträgen verpasst - die taucht aber nirgendwo auf. Muss ich da jetzt noch richtig irgendwo in den php-Dateien des Themes was ändern?
---
Dieser Beitrag war vorübergend verschwunden, daher hatte ich ihn noch einmal gepostet. Jetzt ist aber der ursprüngliche Beitrag wieder da, dort gibt es auch Anworten:
http://www.drupalcenter.de/node/1813
Sorry für die möglicherweise entstandene Verwirrung!
Hängt vom Theme und Admin ab...
am 02.10.2006 - 22:38 Uhr
Servus.
Ob Secondary Menus angezeigt werden oder nicht, hängt einerseits vom Theme, andererseits von den Einstellungen in Administer ab. In der page.tpl.php des Theme sollte irgendwo "secondary_..." zu finden sein, dann ist technisch alles vorbereitet, und du kannst in administer::settings::menus eintauchen und dort die Secondaries einschalten (die sind aber IMHO standardmäßig aktiviert: die beiden drop downs in der Mitte sollten beide denselben Eintrag ("Hauptauswahl" oder "Primary Menu") enthalten.
Hoffe, das war hilfreich,
Norbert
Wenn ich sst richtig
am 03.10.2006 - 09:21 Uhr
Wenn ich sst richtig verstanden habe, hat er das Problem, dass dabei (um bei dem Menübespiel zu bleiben) Schäferhund und Dackel (als Untermenüpunkte von "Hund") nicht mehr angezeigt werden.
Säugetiere
- Hund
- Schäferhund
- Dackel
- Katze
- Kamel
Fische
- Hai
- Rochen
Vögel
- Buchfink
- Rotkehlchen
------------
Wir sind lediglich hier, um Erfahrungen zu sammeln.