
Panels, Context oder Display Suite?
Komplexe Layouts mit Drupal umsetzen
Wer sich schon mal daran versucht hat, ein Layout wie in der Abbildung zu sehen, mit Drupals Boardmitteln umzusetzen, wird sicherlich auch Folgendes erkannt haben.Für jemanden ohne CSS und Theming Kenntnissen ist das nicht zu schaffen Das Page Template wird durch die vielen Regions aufgebläht Die einzelnen Bereiche gezielt mit ausgewähltem Inhalt zu bestücken ist umständlich und die Block-Konfigurationsseite lässt sich irgendwann kaum noch richtig benutzen.Um nur einige Probleme zu nennen. Dies gilt umso mehr, wenn eine Site für unterschiedliche Bereiche unterschiedliche Layouts benötigt.Es gibt mehrere Module, die uns viel mehr Möglichkeiten bieten und es auch einem Nicht-Themer ermöglichen, solche Layouts zu erstellen und mit Inhalt zu versehen. Alles aus Drupal heraus, also ohne irgendwelchen Template Dateien bearbeiten zu müssen.Panels Context Display SuiteUnd da haben wir auch schon das Problem. Welches Modul nehmen? Für welchen Zweck? Wo sind die Vor- und Nachteile?Das möchte ich im Folgenden versuchen zu erläutern.Die umfassensten Möglichkeiten bietet Panels. Mancher hält Panels allerdings für zu kompliziert. Das stimmt aber nur dann, wenn man komplexe Funktionen wie Kontexte, selection Rules oder Argumente nutzt. Wer einfach “nur” beliebige Layouts mit allem auf einer Site zur Verfügung stehenden Inhalt - Nodes, Views, Blöcke usw. - bestücken will, ist mit Panels besten bedient.Mir gefallen insbesondere auch diese zwei Möglichkeiten:Wenn ich mal irgendwo Inhalt, z.B. einen kleinen Hinweis an die Benutzer oder was auch immer, erstellen möchte, ohne dafür gleich einen Node oder einen Block zu erstellen, dann ist das mit Panels sehr leicht möglich. Einfach nach ADD CONTENT New custom content wählen und Text erfassen. Wer eine View einer Panel Pane hinzufügen möchte, braucht in der View nicht extra ein Block Display anlegen. Panels kann das ‘Default display’ einer View benutzen.Diese und viele andere Möglichkeiten gibt es bei den beiden anderen Modulen nicht, aber als leichtgewichtigere Alternativen kommen sie schon in Frage.Schauen wir uns zuerst das Modul Context an. Sehr vereinfacht gesagt, kann man mit Context Blöcke beliebig platzieren ohne jemals wieder die Blockkonfigurationsseite zu benutzen.Das alleine kann den Einsatz schon rechtfertigen. Man erstellt einfach einen neuen Kontext z.B. für alle Nodes vom Inhaltstyp BLOG und wählt danach sehr komfortabel die gewünschten Blöcke und Regions aus, wo die Blöcke erscheinen sollen.Da Drupals normale Regions genutzt werden, ist es für Nicht-Themer auch nicht so einfach wie mit Panels, individuelle Layouts zu erstellen.Wer aber mit den Regions des eingesetzten Themes auskommt, ist mit dem Modul Context möglicherweise zufrieden.Context ist allerdings insbesondere zusammen mit den Modulen Spaces und Features weit mächtiger, als hier beschrieben. Aber das bleibt einem anderen Artikel vorbehalten.Kommen wir nun zum letzten Modul, das für besondere Layouts in Frage kommt - die Display Suite. Display Suite ist ein API Modul und benötigt entsprechend andere Module, damit man damit etwas anfangen kann. Die sind alle auf der Projektseite auf drupal.org zu finden.Node display und Views display als zusätzliche Module braucht man auf jeden Fall.Mit der Display Suite kann man keine beliebigen Layouts für den Inhaltsbereich erstellen. Das Standarlayout ist 3-spaltig mit Kopf- und Fußbereich.In diese Bereiche kann man nun sehr einfach per Drag & Drop beliebige Elemente eines Nodes, z.B. CCK-Felder, Read more, Kategorien usw., schieben. Oder auch die Elemente einer View - den Pager oben anzeigen, einen Exposed Filter in die rechte Spalte - mit einem View Display stellt das keine Herausforderung mehr da.M.E. ist das ein Alleinstellungsmerkmal der Display Suite, denn wer sowas mal mit herkömmlichen Theming Methoden gemacht hat, weiß wie aufwendig das ist.Wie man sieht hat jedes der vorgestellten Module seine Vor- und Nachteile. Wichtig ist es diese zu kennen, um das richtige Modul zur Lösung eines oder mehrerer Probleme zu wählen. In dem einen oder anderen Fall kann auch eine Kombination die richtige Wahl sein. Gerade die Display Suite kann Panels oder Context gut ergänzen.Ich hoffe mit diesem Artikel einige Fragen in diesem Bereich beantwortet zu haben.