Nicht ohne Navi
am 27.08.2006 - 22:35 Uhr in
Mann kann schon eine Menge machen mit Drupal (Frau auch).
Neben der Primary-Navigation (horizontale Navigation) gibt es noch eine Block-Navigation, die in Abhängigkeit der horizontalen Navigation angezeigt wird.
Dann gibt es "Gäste" und "angemeldete User".
Ich möchte nun zwei unterschiedliche Block-Menüs. Wie lege ich diese an?
Beispiel: horizontaler Menü-Punkt
Kontakt
Im Block "Navigation" soll zu sehen sein für Gäste:
- Kontaktformular "Anfrage"
- Allgemeine Rufnummern
Im Block "Navigation" soll zu sehen sein für angemeldete User:
- Kontaktformular "Anfrage"
- Kontaktformular "Support"
- Allgemeine Rufnummern
- Support-Rufnummern
- Direkt-Kontakt ICQ
Angenommen, später könnten/sollen noch für "angemeldete User" Fax-Anfrage, Skype-Kontakt und SMS-Anfrage als mögliche Kontakt-Optionen dazu kommen: Wie baue ich hierfür eine sinnvolle Struktur (mit welchen Modulen) auf, um diese Aufgaben realisieren zu könne?
Also:
Unterscheidung Gast oder angemeldet ist hier wichtig und gleichzeitig unterschiedliche Sub-Navigation, die erweiterbar ist.
Wie gehe ich also vor?
Euer apmaster
- Anmelden oder Registrieren um Kommentare zu schreiben

Individuelle Menüs
am 28.08.2006 - 12:18 Uhr
Bevor ich deine Fragen beantworte, möchte ich einen Tipp loswerden:
"den Standard Drupal MenüBlock 'Navigation' verwende ich nie für meine Website-Navigation. Immer nur für die Administration."
Nun zu deinen Fragen.
Einen neuen Block legst du normalerweise unter "admin/block/add" an. In diesem Fall sieht es aber etwas anders aus. Du möchtest ja 2 neue Menüs anlegen. Menüs sind in Drupal zwar auch Blöcke, sie werden aber unter "admin/menu/menu/add" angelegt und dann unter "admin/block" aktiviert und weiter konfiguriert.
Also, erzeuge zwei neue Menüblöcke "Gast" und "User" und füge diesen deine Naviationspunkte (Menüitems) hinzu.
Danach wechselst du in die Blockkonfiguration und aktivierst die Blöcke. Nun taucht deine neue Navigation auf allen Seiten auf. Das willst du so ja nicht.
Klick auf den Konfigurieren-Link eines Blocks und klick auf "Seitenspezifische Sichtbarkeitseinstellungen". Aktivier dort den Radio-Button "Diesen Block nur anzeigen, wenn der folgende PHP-Code TRUE zurückgibt (PHP-Modus für Experten)."
Für den Block "Gast" gib folgenden Code ein:
<?phpglobal $user;
if (in_array('anonymus user', $user->roles)) return TRUE;
?>
und für den Block "User"
<?phpglobal $user;
if (in_array('authenticated user', $user->roles)) return TRUE;
?>
Das wars.
md - drupalcenter
-----------------
www.mdwp.de