Ein paar Gedanken aus der Display Suite Session. Display Suite.
Display Suite
In komplexen Seiten mit vielen Teaser musste man bis anhin immer eines an .tpl Files anlegen. Es wurde eigentlich relativ schnell sehr unübersichtlich. Ich kenne das Problem auf jeden Fall sehr gut.
Die Display Suite scheint die Lösung dafür zu sein! Der erste Eindruck ist extrem gut. Also, was macht es (Voraussetzung ist, dass Display Suite und Node Display angeschalten sind) :
Unter admin/ds/layout ist eine Liste mit zu finden mit den verschiedenen Ansichten eines Nodes (Vollständiger Node, Teaser, RSS usw.) Jetzt "edit" klicken und dann können die verschiedenen Elemente in entsprechende Regionen gruppiert werden (welche dann natürlich via CSS entsprechend angepasst werden können). Vom Interface sieht es ähnlich aus, wie das Blockinterface.
Jetzt können die entsprechenden Layouts angepasst werden. Soweit so gut. Das coole ist jedoch, dass eigene sog. "Build Modes" hinzugefügt werden können, z.B. Frontpage. Dort kann ich dann wie gesagt wiederum die Nodefelder gruppieren. Jetzt kann ich die Views auf der Startseite nehmen und als Anzeige Modus "Display Suite" wählen und dann dort entsprechend Frontpage auswählen … schon werden die gewünschten Felder angezeigt.
Ich könnte jetzt also für verschieden Views verschiedene Build Modes anlegen, ohne dass ich dafür ein .tpl anlegen müsste. Das coole daran ist, dass es sich dann auch extrem schnell ändern lässt, bzw. wenn neue Inhaltstypen hinzukommen, lassen die sich sehr schnell in das entsprechende Layout einpassen.
Die folgenden hooks stehen zur Verfügung.
- hook_ds_api()
- hook_ds_fields()
- hook_content_build_modes()
- hook_ds_fields_alter()
- hook_ds_buildmodes_alter()
- hook_ds_default_settings() -> feature support
- ds_build_fields_and_regions()
- ds_render_content()
Panels
Bisher habe ich immer ein wenig Respekt vor Panels gehabt und noch nicht wirklich den passenden Usecase gefunden. Die paar Sachen, welche ich jedoch hier gesehen habe, sprechen schon für etwas entsprechendes und zwar vor allem aus dem Grund, dass sich Layouts viel flexibler ändern können, besonders, wenn man eigene Layouts anlegt.
Mein Fazit ist auf jeden Fall, dass ich für zukünftige Projekt mehr Abklärungen im Voraus investieren werde, um den Einsatz von solchen Modulen zu überprüfen. Ich bin nachwievor der Meinung, dass Panels (und wohl auch DS) nicht die Lösung zu allem ist, aber doch zu einigen… und wichtig ist einfach nur, die richtigen Einsatzgebiete zu erkennen und es dann richtig einzusetzen.
Offene Fragen:
- Können Layouts angelegt werden mit eigenen Regions?