[gelöst] Bereiche mit unterschiedlichen Menüs
am 08.11.2012 - 08:57 Uhr in
THEMA: Theming - Bereiche mit unterschiedlichen Menüs
Liebe Drupalianer,
als typischer Beginner ist es nicht immer einfach, in die geheimnisvollen Innereien von Drupal vorzustoßen. Ich möchte folgendes probieren:
Von meiner Homepage (erstellt über das theme Corporate Clean) aus möchte ich dem Besucher (alle Rollen) ermöglichen, mit einem Klick auf verschiedene Bereiche zu wechseln, sagen wir in den Bereich A, Bereich B, Bereich C und/oder Bereich D.
Diese Bereiche (A, B, C, D...) sollen alle eine eigene Menüleiste im Hauptmenue bekommen, die in den anderen Bereichen nicht sichtbar sein sollen. Um auf einen anderen Bereich zu wechseln, müsste der Benutzer auf die Homepage (front) wieder wechseln und von dort aus in einen anderen Bereich (z.B. Bereich C).
Die Bereiche sollen mit spezifischen Seiten gefüllt werden, die ebenfalls nicht in den anderen Bereichen sichtbar sein sollten (logisch, denn sie beziehen sich ja auf den spezifischen Bereich: z.B. Bereich A).
Auf der Homepage (front) gibt es bislang kein Hauptmenü in der obersten Zeile; es gibt lediglich eine Seitenleiste, in der die Bereiche A, B, C, D... usw eingetragen sein sollen.
Nun beiße ich mir die Zähne daran aus, wie ich es realisieren sollte, deshalb die
FRAGE: Wie realisiert man solche "Bereiche"?
Benötige ich für die verschiedenen Bereiche unterschiedliche Homepages (z.B. mit dem Modul (meines Wissen ist dies eher sinnvoll, wenn ich verschiedenen Benutzern unterschiedliche Hompages anbieten möchte)? Oder verwende ich z.B. ein , z.B. , usw.?
Mit dem Modul Panels bin ich diesbezüglich meiner Anforderung folgend nicht weiter gekommen, ebenso wenig mit dem Modul Taxonomy. Mit letzteren habe ich die unterschiedlichen Menüs angefertigt (Menü1 für den Bereich A, Menü2 für den Bereich B usw.).
Ich würde mich über eine Idee zur Planung sehr freuen und wenn es ginge, sogar über sehr konkrete Schritte Eurer Lösung.
Vielen Dank bereits heute im Voraus an alle, die sich dieses Thema annehmen möchten!
Herzlichst, Georgios.
- Anmelden oder Registrieren um Kommentare zu schreiben
Views, pathauto
am 08.11.2012 - 11:08 Uhr
Views und pathauto wären in meinen Augen die zentralen Module. Ich versuche mal deine Anforderungen zu unterteilen. Dann ist die Definition der Bereiche einfacher.
Homepage
Zunächst einmal hast Du ja eine Startseite, wenn deine Domain aufgerufen wird. Wie ist denn diese Startseite aufgebaut? Ist das eine statische Seite mit nur einem Beitrag? Oder ist eine Liste mit Artikeln aus z.B. den Bereichen A bis D? Diese Grundsatzfrage bestimmt deinen weiteren Lösungsweg maßgeblich.
Bereiche definieren
Mein Königsweg hier wäre die Definition der Bereiche in Inhaltstypen. Ein Menü ist immer auch ein Block. Blöcke können in Drupal 7 auch nur für bestimmte Inhaltstypen angezeigt werden. Dadurch hättest Du mit pathauto die komplette Freiheit deine URL zu bestimmen. Die Vokabulare in Taxonomie sind dann noch an die Inhaltstypen anzupassen.
Alternativ kannst Du die Anzeige auch über die URL steuern. Dazu benötigst Du dann pathauto. Ein Weg wäre, die URL mit dem Pfatd Vokabular/Begriff/Titel zu belegen und die Blockanzeige über
vokabularname
vokablarname/*
zu steuern. Je nachdem wie deine Taxonomie aufgebaut ist, musst Du die Anzeige des Blockes dann immer wieder nachpflegen. Das hast Du mit den Inhaltstypen gespart.
Homepage pro Bereich
Für eine Homepage pro Bereich kannst Du das Modul VIEW nutzen. Über VIEW's filterst Du in jedem Bereich nach dem Content-Typ (alternativ nach dem/den Vokabular/en) und dem Vermerk "auf Startseite anzeigen". Das gibst Du über eine Seite/Page aus, dann hast Du eine URL und einen Menüpunkt zur Verfügung.
Solltest Du die Homepage als Artikelliste definiert haben, dann definiere dir ein Feld "Startseite Bereich A", das Du für die Beiträge auf der Startseite anhaken kannst. Wenn Du nicht mit verschiedenen Inhaltstypen arbeiten kannst/willst, brauchst Du dieses Feld für jeden Bereich. Über VIEW filterst Du dann auch die Anzeige über dieses Feld.
Ich hoffe, für den Ansatz reicht das erstmal. Ansonsten einfach nochmal Detailfragen posten :-)
Gruß 2be
Antwort von 2Be
am 08.11.2012 - 11:29 Uhr
Hallo 2Be,
sehr herzlichen Dank für die rasche und kompetente Antwort!
Meine Frontpage ist statisch mit nur einem Artikel, der nur dort als "Begrüßung" erscheint, aufgebaut.
*Bereiche definieren*
Wenn ich Dich richtig verstanden habe, muss ich also die "Bereich A, Bereich B,..." als Inhaltstyp definieren?! Danach müsste ich dann die Taxonomy-Begriffe den Inhaltstypen Bereich A, Bereich B, ... anpassen bzw. zuordnen? Das würde bedeuten, das ich pro "Bereich" also einen Block "Menü" zuordnen muss.
Zum Verständnis: Ich müsste für jeden Menüpunkt aus dem Inhaltstyp Bereich A, B-D, je eine Seite aufbauen und diese dann mit dem Modul als Blok auf den jeweiligen Seiten zuordnen?
Das Modul ist mir bislang noch nicht geläufig.
Sind diese Seiten "normale, einfache" Seiten oder sollten diese mit Panel aufgebaut sein? wie definiere ich die Blöcke einzeln auf den Seiten?
Herzlichst, Georgios.
Machs dir doch leicht und
am 08.11.2012 - 11:33 Uhr
Machs dir doch leicht und benutz das Modul Kontext !? :) Damit kannst du bestimmen was unter welche Voraussetzungen wo angezeigt werden soll. Schmeißdt du zum Beispiel ein Menü in die Sidebar, dann gehst du in die Kontextverwaltung und kannst dort angeben, dass das Menü X nur auf Seite Y und Seite Z angezeigt werden soll :)
Mach´s mir einfach
am 08.11.2012 - 11:49 Uhr
Hallo Martin,
auch Dir danke für die rasche Antwort! Ich werde auch Deinen Weg probieren! Hört sich zumindest recht "einfach" an.
Herzlichst, Georgios.
Georgios schriebMeine
am 08.11.2012 - 12:04 Uhr
Meine Frontpage ist statisch mit nur einem Artikel, der nur dort als "Begrüßung" erscheint, aufgebaut.
Super, dann hast Du sicher unter dem Meünpunkt "Website-Einstellungen" die Anzeige als node/xy definiert. Damit läuft dann beim Beitrag das Anklicken "auf der Startseite anzeigen" ins Leere. Du hast dadurch die Möglichkeit, diese Einstellung für die Homepage deiner Bereiche zu nutzen.
Das würde bedeuten, das ich pro "Bereich" also einen Block "Menü" zuordnen muss.
Das ist soweit korrekt. Du hast doch vier völlig voneinander unabhängige Bereiche, d.h. vier voneinander unabhängige Menüs. So hatte ich es zumindest verstanden. Die vier Menüs sind auch vier Blöcke, die dann jeweils dem Inhaltstyp zugeordnet werden.
Zum Verständnis: Ich müsste für jeden Menüpunkt aus dem Inhaltstyp Bereich A, B-D, je eine Seite aufbauen und diese dann mit dem Modul als Blok auf den jeweiligen Seiten zuordnen?
Das Modul ist mir bislang noch nicht geläufig.
Das Modul pathauto bestimmt das Aussehen der URL. Du kannst über die URL auch die Anzeige der Blöcke filtern, ein durchgängiges Konzept für Drupal (zumindest bis Drupal 6) Wenn Du über Pathauto die URL der Beiträge nach dem Schema [Vokabular]/[Begriff]/[title-raw] definierst (das sind Platzhalter), dann kannst Du die Anzeige des Blocks z.B. so gestalten, dass der Block nur für Beiträge mit der URL /Bereich-A und /Bereich-A/* angezeigt wird. Damit wird das Menü dann nur angezeigt, wenn Beiträge des Bereichs angezeigt werden. Das brauchst Du nicht, wenn Du für jeden Bereich einen eigenen Content-Typ definierst. Dann filterst Du die Anzeige der Blöcke ja über den Content-Typ
Sind diese Seiten "normale, einfache" Seiten oder sollten diese mit Panel aufgebaut sein? wie definiere ich die Blöcke einzeln auf den Seiten?
Diese Seiten sind eine Liste von Beiträgen, wie Du sie auch über die Taxonomie-Begriffe ausgibst. Das Modul VIEW ist für die Ausgabe dieser Listen verantwortlich. Du sagst dem Modul quasi, es soll nur Beiträge des Content-Typs "Bereich A" mit dem Vermerk "auf der Startseite anzeigen" ausgeben. Das verknüpft mit dem Menüpunkt löst die Anzeige dieser Beitragsliste aus. Der Menüblock dazu wird angezeigt, weil die Beiträge dem Content-Typen entsprechen, bzw. die URL stimmt. Der Pfad muss dann identisch sein mit dem Vokabularnamen von Bereich A, bzw. der URL-Darstellung dieses Bereichs (Umlaute, Wandlung von Leerzeichen, Sonderzeichen etc.).
Das Modul Kontext ist mir nicht bekannt, aber es hört sich gut an.
Danke!
am 08.11.2012 - 13:25 Uhr
Hallo 2be,
Du solltest ein eigenes Drupal-Buch schreiben: Die Erklärungen sind präzise und sachlich, wie ich sie in klass. Lehrbüchern kenne. Ich werde Deine(n) Weg(e) ausprobieren und ebenso den Weg von Martin, der das Modul "Kontext", welches ich soeben geladen habe, ausprobieren.
Euch besten dank und beste Grüße,
Georgios.
Vielen Dank!
am 08.11.2012 - 13:55 Uhr
Hallo Georgios,
vielen Dank für das Lob! Jetzt bin ich doch gleich von meinen 1,94 m auf 2,05 m gewachsen. Ich habe mich bis jetzt noch wenig mit Drupal 7 beschäftigt, bin noch ziemlich bei Drupal 6. Insofern ist die Idee, ein Buch über Drupal 7 zu schreiben, nicht schlecht. Dann kann ich mich mit Drupal 7 gut auseinandersetzen, aber vielleicht fange ich lieber gleich mit Drupal 8 an. Sobald das Buch erscheint, schicke ich dir den Link, o.k.?! :-)
Viele Grüße
Bernd
Drupal 8.x
am 08.11.2012 - 14:04 Uhr
Hallo 2be,
na also ich bitte doch höflichst um ein Gratis-Exemplar Deines Buches Drupal 8.x !! (wer hatte denn die Idee? Oder sollen wir es zusammen schreiben, lach) ;-))