Ralph Segert

ExpressionEngine 3: Die neue Feldverwaltung mit individuellen Feldlayouts

—   05. July 2017    Rubrik: Expressionengine    Views: 3013      —

Der Artikel stellt ein Herzstück der CMS-Software ExpressionEngine vor: Die Feldverwaltung. Er beschreibt die Effizienzsteigerung, die das Upgrade von Version 2 auf 3 für die Feldverwaltung gebracht hat. Den Clou bringe ich mit zwei Wörtern auf den Punkt: Geniale Feldlayouts.

Prinzip der Felderverwaltung

Ein Kernfeature in ExpressionEngine ist die Feldverwaltung. Sie bietet ein breites Set an Feldtypen (Fieldtypes), das kaum Wünsche offen läßt. Feldtypen sind unerläßlich für eine kluge Informationsarchitektur und frei definierbaren Inhaltstypen. ExpressionEngine setzt bei der Strukturierung keine technischen oder gestalterischen Grenzen und erlaubt ein einfaches und schnelles Anlegen von Feldtypen.

Feldtypen

Was Feldtypen in ExpressionEngine sind und was wir damit machen können, verdeutlicht ein Beispiel. Nehmen wir ein einfaches Produktblatt für eine Produktfamilie. Einerseits soll das dem Besucher einen schnellen Überblick bieten und andererseits die unterschiedlichen Eigenschaften der Produkte abbilden. Zugleich streben wir eine leichte Pflege an, bei der Editoren nichts falsch machen können, ausser falsch zu schreiben oder zu kopieren ;).

Bevor wir mit den Feldtypen im CMS selbst arbeiten, klären wir den Pool der Daten, analysieren ihre Unterschiede (Größen, Farben, Features) und erstellen eine sinnvolle Datenstruktur. Aus dieser Datenstruktur leiten wir die Feldtypen ab, die dann die Inhaltsstruktur abbildet. Beispielhaft können das folgende Feldtypen sein:

  • Feldtyp Text Input: Für den Namen des Produkts.
  • Feldtyp Dropdown: Für eine Vorauswahl mit allen Größen der Produkte.
  • Feldtyp Grid: Eine Kombination aus Feldern, um zum Beispiel mehrere Fotos mit Titel und Beschreibung in einem Raster darzustellen.

Das ganze wird als Feldgruppe mit einem passenden Namen abgespeichert und dem Inhaltsbereich Produkte zugeordnet. Inhaltsbereiche werden in ExpressionEngine als Channels bezeichnet.

Beim Neuanlegen eines Eintrages für Produkte sieht der Editor dann genau diese Feldtypen im Formular. Das ist dann seine Schnittstelle für die Pflege der Produkte. Und die sollte selbsterklärend, einfach zu bedienen und ohne Redundanzen sein, auch wenn es komplexere Formulare werden.

In ExpressionEngine 2 mussten wir für jeden Channel eine eigene Feldgruppe erstellen. Das war insofern ineffizient, da wir jeden Feldtyp erneut konfigurieren mussten, auch wenn er bereits in einer anderen Feldgruppe vorhanden war. Es gab auch keine Möglichkeit, eine Feldgruppe zu kopieren und dann unter anderem Namen anzupassen.

Selbstverständlich konnte in ExpressionEngine 2 eine Feldgruppe mehreren Channels zugeordnet werden. Sobald aber eine weiteres Feld für ein Channel notwendig wurde, brauchte dieser Channel somit eine eigene Feldgruppe. Mit ExpressionEngine 3 gehört das der Vergangenheit an.

Geniale Feldlayouts mit ExpressionEngine 3

Mit der Version 3 wurde Anfang 2016 in der Channel-Konfiguration ein neuer Button mit der Funktion „Layouts“ eingeführt. Damit kann ich für jede Mitgliedsgruppe (also für Editoren) individuell bestimmen, welche Formularfelder und Optionen für ihre Inhaltsbereiche (Channels) angezeigt werden.

Button Feldlayout

Im Prinzip reicht es somit, alle benötigten Feldtypen in einer Feldgruppe anzulegen. Diese wird zunächst allen vorhandenen Channels zugeordnet. Danach wird für jeden Channel ein eigenes Feldlayout erstellt. So bekommen Editoren, die bestimmte Channels wie einen Blog, die Termine, die Produktinfos, die Standorte pflegen, exakt die Felder und Optionen zu sehen, die für den Channel relevant sind. Das ist genial.

Der folgende Screen zeigt das Dialogfeld für die Konfiguration eines Feldlayouts. Ich kann hier die Reihenfolge der Felder ändern. Ich kann Felder ein- und ausblenden. Auch die Karteireiter lassen sich wegschalten. Warum sollte auch der Editor oder Redakteur den Karteireiter Kategorien sehen, wenn der Channel keine Kategorien hat.

Feldlayout bestimmen

Wenn ich nun auf den Karteireiter Optionen klicke, kann ich auch hier das Optionsset und die Reihenfolge innerhalb des Dialogfeldes bestimmen. Wenn zum Beispiel der Redakteur den Eintragsstatus nicht verändern soll (geschlossen oder offen),  so ist das kein Problem, mit einem Klick wird dieses Optionsfeld aus der Ansicht entfernt.

Feldlayout Karteireiter

Feldlayouts haben zudem den Vorteil, dass später im laufenden Betrieb der Website neue Felder hinzugefügt werden könnnen. Ein paar Klicks reichen. Als Beispiel aus der Praxis möchte ich die Website meines Kunden defakto nennen. Dort kommen häufig neue Projekt-Standorte hinzu. Diese werden unter anderem mit Teammitgliedern und ihren Funktionen eingetragen.

Im Laufe der Zeit zeigte sich, dass für manche Projekte nicht nur die üblichen Fachkräfte wie Theaterpädagoge, Jobcoach und Sprachtrainer eingetragen werden müssen, sondern auch andere Berufe. Die Lösung: Ich habe zwei neue Felder erstellt und diese in der richtigen Reihenfolge im Formular platziert. In dem einen Feld kann frei die Berufsbezeichnung eingetragen werden, in dem anderen der Vor- und Nachname.   

Danach fehlte nur noch die Einbindung der Felder-Variablen in das Template. Und da diese beiden Felder eher selten genutzt werden, sorgt eine if-Abfrage dafür, dass sie als leere Felder keinen Platz im Layout verschwenden. So bleibt die Informationsarchitektur einer lebendigen Website flexibel und erweiterbar, ohne Verrenkungen, unnötigen Zeitverbrauch und Kuddelmuddel in den Templates oder im Backend.

Feldtypen mit ExpressionEngine konfigurieren

Eine Stärke der Feldverwaltung in ExpressionEngine ist die Konfiguration der einzelnen Feldtypen. Nehmen wir einen so einfachen Feldtyp wie Textarea. Der ist geeignet für Fliesstext vom Teaser bis zum bebilderten Artikel.

Feldtyp konfigurieren

Der Screen zeigt, dass dem Feld eine Anweisung für die Editoren mitgegeben werden kann. Das sind Hinweise zu Schreibweisen, beispielhafter Text und alles, was die zuvor konzipierte inhaltliche Konsistenz fördert.

Weitere Optionen: Das Feld auf required setzen, bestimmen, ob das Feld für die Website-Suche zur Verfügung steht. Zudem, ob der Editor die zuvor frei konfigurierbaren Formatierbuttons und den Dateimanager sehen und nutzen darf.

Nützlich ist auch Auswahl neben Text-Formatierung. Wir haben die Wahl zwischen XHTML, Auto <br /> oder eben keine Formatierung (die würde dann im Template gesetzt). Je nach Feldtyp sind die Optionen mehr oder weniger umfangreich.

Ganz spezielle und sehr mächtige Feldtypen werden übrigens von Addons bereitgestellt. Die werden bei der Installation des Addons automatisch in die Feldverwaltung eingetragen. So kann die Einpflege komplexer Bildergalerien mit dem Addon Channel Images vereinfacht werden. Oder wir implementieren eine ziemlich ausgefuchste Terminverwaltung mit dem Addon Calendar von Solspace.

Selbstverständlich lassen sich solche Contentbereiche auch mit den Bordmitteln von ExpressionEngine bauen, was den Vorteil hat, dass das CMS schön schlank bleibt und der Wartungsaufwand verringert wird. Meine Regel heißt hier btw, so wenig Addons wie möglich.

Fazit: Mit ExpressionEngine und seiner klugen und komfortablen Feldverwaltung wird Informationsarchitketur nicht nur zum großem Plus für den Benutzer einer Website, sondern auch für die Redakteure und Editoren. Die eh bereits geringe Lernkurve in ExpressionEngine wird durch eine kluge Datenstruktur noch weiter verringert, die Einarbeitung für Editoren somit verkürzt. Die größtmögliche Flexibilität der Feldverwaltung erlaubt zudem eine stetige Korrektur und Erweiterung der Datenstrukturen und seiner Felder.

Diese Art der effizienten und flexiblen Feldverwaltung gehört im Kern zu meinem CMS-Konzept Modulée.

Weiterführende Links

Feedback bitte an .(Javascript muss aktiviert sein, um diese E-Mail-Adresse zu sehen)

Zum Seitenanfang