comm-press GmbH

Eingereicht von:

Projektname:

Blizz Dynamic Entitylist

Kategorie:

Lösungen
blizz-dynamic-entitylist-fieldconfiguration-backend - Ralf Hendel
blizz-dynamic-entitylist-editorial-backend - Ralf Hendel

Hintergrund

Eine typische Anforderung unserer Kunden besteht darin, dass Redakteure kontextuell passende Teaser-Listen innerhalb von Artikeln platzieren möchten.

Redakteure sollen dabei nicht mit der komplizierten Oberfläche von "Views" in Kontakt kommen müssen. Die Listen sollen als Content behandelt werden und keinesfalls als Konfiguration exportiert und in die Code-Basis übernommen werden müssen.

Hierfür haben wir das Modul "Blizz Dynamic Entitylist" entwickelt, das wir unter unserem Label "Blizz" als Open Source veröffentlicht haben. Darin haben wir einen eigenen Feld-Typen erstellt, in dem die Listendefinition gespeichert wird. Die Selektion und Darstellung der Liste beruht auf der Core-Methode "Entity-Query" und den jeweiligen View-Buildern der Entities.

Mit dem intuitiven Auswahl-Widget können Redakteure Listen aus beliebigen Entity-Typen erstellen. Während der Bearbeitung werden die gefilterten Ergebnisse als Live-Vorschau dargestellt. Auf Taxonomien referenzierende Felder werden dynamisch mit Autocomplete als Filter-Auswahl angeboten. Die Sortierung der Entities erfolgt anhand der "Created"-Property abteigend, bzw. – sofern es keine "Created"-Property gibt – aufsteigend nach dem Titel der Entity.

Im Konfigurations-Backend lässt sich die Auswahl auf vordefinierte Entity-Typen einschränken.


Ziele

Redakteure sollen eine Möglichkeit erhalten, dynamische Teaserlisten innerhalb des Contents erstellen und einbetten zu können, ohne dafür die Views UI bedienen zu müssen.


Ergebnisse

Mit dem intuitiven Auswahl-Widget können Redakteure Listen aus beliebigen Entity-Typen erstellen. Während der Bearbeitung werden die gefilterten Ergebnisse als Live-Vorschau dargestellt.


Technische Herausforderungen

Um das vierstufige Auswahl-Widget (Entity-Type / Bundle / View-Modes / Filter) zu realisieren, haben wir eine eigene Ajax-Implementation geschrieben, da die Drupal Core Ajax-Funktionalität nur maximal zwei Stufen unterstützt.


Drupal Community-Beitrag

Contribution als Open Source Modul auf drupal.org unter https://www.drupal.org/project/blizz_dynamic_entitylist


Erscheinungsdatum

29/01/2018