Drupal 8 hat die Arbeit mit Blöcken deutlich verbessert, aber ist dabei nicht unbedingt übersichtlicher geworden. Der gleiche Block kann jetzt mehrfach platziert werden, etwa in verschiedenen Regionen, mit unterschiedlichen Sichtbarkeitseinstellungen, oder mit abweichenden Titeln. Daher muss zwischen dem Block und dem platzierten Block unterschieden werden.
Block-Arten
In Drupal 8 gibt es zwei grundsätzlich verschiedene Arten von Blöcken, redaktionelle und programmatorische. Beide Arten Blöcke lassen sich auf diverse Weisen in eine Seite einbinden, z.B. über die Blocklayout-Seite oder in Panels.
Von außen betrachtet gibt es keine gute Information, ob es sich um einen redaktionellen oder einen programmatorischen Block handelt. Abhilfe kann hier nur geeignete Kategorisierung bei der Entwicklung von Code-Blöcken helfen.
Redaktionelle Blöcke
Redaktionelle Blöcke, oder Content Blocks, kommen aus dem block_content
-Modul und sind Entitäten, die über Felder verfügen können. Sie teilen entsprechend viele Gemeinsamkeiten mit ihren großen Brüdern und Schwestern, den Nodes, Medien oder Taxonomie-Begriffen. Dazu haben sie eine eigene Konfigurationsseite (z.B. /block/123
). Sie sind die spirituellen Nachfolger des Drupal 7 bean
-Moduls.
Bei der Block-Platzierung kann man für diese Blöcke nur einstellen, ob und wenn ja welchen Titel der Block tragen soll, und in welchem View Mode er ausgespielt werden soll.
Einen redaktionellen Block einbinden:
-
/admin/structure/block/block-content
anlegen
Block unter -
/admin/structure/block
platzieren
Block unter - Nach Bedarf konfigurieren
- Fertig!
Programmatorische Blöcke
Programmatorische Blöcke, oder Code Blocks, können in verschiedensten Modulen definiert werden, und sind Plugins. Sie verfügen nicht über (echte) Felder, enthalten aber häufig konfigurierbare Elemente.
Bei der Block-Platzierung kann man für diese Blöcke einstellen, ob und wenn ja welchen Titel der Block tragen soll. Zusätzlich werden alle vom Plugin angedachten Konfigurations-Optionen im Platzierungsformular angeboten, eine separate Konfigurationsseite gibt es nicht.
Einen programmatorischen Block einbinden:
-
/admin/structure/block
platzieren
Block unter - Nach Bedarf konfigurieren
- Fertig!