Vor ein paar Monaten erhielt ich eine Anfrage für ein Website-Projekt, das ich inzwischen auch umsetzen durfte. Eine zentrale Anforderung des Kunden war, dass er die Reihenfolge von Inhalten selber bestimmen kann. Eigentlich eine Selbstverständlichkeit im Jahr 2020 – müsste man meinen. In Backdrop-Projekten nutze ich dafür meistens eine einfache, aber mächtige Erweiterung zur Sortierung von Inhalten: das Modul Draggableviews.
Vom Modul Views wird noch oft die Rede sein beim Modul-Montag. Es ist das universelle Werkzeug, um per Mausklick auch anspruchsvolle Datenbank-Abfragen zu konfigurieren. Draggableviews erweitert das Views-Modul, indem es ermöglicht, die Reihenfolge der Ergebnisse aus der Datenbank per Drag & Drop zu ändern.
Wieso, weshalb, warum
Das Thema Sortierung ist ein Evergreen beim Erstellen von Websites. Gerade bei grossen Datenmengen wird oft eine automatische Sortierung gewünscht, etwa nach Erstellungsdatum der Inhalte. Bei kleinen Landing Pages wiederum sollen möglichst alle Inhalte frei platziert werden können. Das wiederum bringt oft das Layout-Template an seine Grenzen. Die beste Sortiermöglichkeit per se gibt es deshalb nicht.
“Person A müsste an dritter Stelle stehen”
Draggableviews ist für mich das Werkzeug der Wahl, wenn einigermassen strukturierte Inhalte zu sortieren sind, die gewünschte Reihenfolge sich jedoch auch mal ändert:
- Artikelübersichten
- Mitarbeiter-Galerien
- Sponsorenlogos
- Kategorieübersichten
Ich nutze die Funktion oft an Dutzenden Stellen auf einer Site. Interessant sind zum Beispiel vermeintlich einfache Mitarbeiter-Galerien, wenn die MitarbeiterInnen zusätzlich in Geschäftsbereiche gegliedert sind und die Anzahl der Einträge sich immer wieder ändert.
Nutzung
Eine Sortierung über Draggableviews benötigt zwei Elemente:
- Ein View für die Datenausgabe, Darstellung frei
- Ein View zur Sortierung, Darstellung als Tabelle
Die tabellarische Ansicht wird dann der Datenausgabe als Sortierkriterium zugeordnet.
Ein Beispiel: Das Bildschirmfoto zeigt eine Views-Ansicht mit Kundenaussagen, deren Reihenfolge frei veränderbar sein soll:
Kommen wir in den folgenden Screenshots zum Backend meiner Sortier-Ansichten für den Inhaltsyp "Mitgliederstimmen/Testimonials":
Das Resultat ist eine Sortier-Option bei der Frontend-Ansicht, die sich bequem per Kontextmenu aufrufen lässt:
Fazit
Draggableviews ist eine bewährte Möglichkeit, um Views-Ergebnisse per Drag & Drop zu sortieren. Die initiale Einrichtung benötigt einen Moment, aber ist bei mir dank Konfigurationsmanagement bei jedem neuen Projekt quasi automatisch am Start.
Kommentare
Olafski
Kontextmenü vs. Block zur Sortierung
Mo., 14.09.2020 - 16:41Danke für den Beitrag! Auch ich nutze Draggableviews sehr gerne. Das Kontextmenü zur Sortierung muss ich dabei übersehen haben. Stattdessen habe ich einen Views-Block mit Sortiertabelle gebaut und zeige diese Tabelle für Benutzer mit redaktionellen Berechtigungen direkt neben bzw. unter der zu sortierenden Ansicht an. Bisher fand ich das ziemlich gut, da auf diese Weise aktueller Zustand und Neusortierung auf einen Blick zu sehen sind. Bei nächster Gelegenheit werde ich aber auch mal die Variante mit dem Kontextmenü ausprobieren.
Olafski
Modul-Alternative
Mo., 14.09.2020 - 16:54Auch wenn ich selbst Draggableviews bevorzuge, sei darauf hingewiesen, dass es mit Nodequeue für Backdrop CMS noch eine Alternative zur manuellen Inhaltssortierung gibt. Nodequeue ist nicht ganz so flexibel, dafür jedoch einfacher zu konfigurieren (was bei konsequenter Nutzung des Konfigurationsmanagements nicht so ins Gewicht fallen mag).
In jedem Fall ist Nodequeue eine interessante Alternative für Drupal-7-Websites, die auf dieses Modul gesetzt haben und auf Backdrop aktualisiert werden sollen.
Fun fact: In Version 7.x-2.2 der Drupal-Version von Nodequeue sind einige Usability-Verbesserungen der Backdrop-Version eingegangen.
Martin Loretz (nicht überprüft)
Wahrscheinlich bessere User Experience als mit Nodequeue
Mo., 14.09.2020 - 18:14Bis anhin habe ich eigentlich immer mit Nodequeue Einträge sortiert. Dieses Modul ist mir in der Auflistung zwar ein paar Mal bereits aufgefallen. Allerdings habe ich mir nie die Zeit genommen es einmal einer genauen Betrachtung zu unterziehen. Das wird sich nun ändern.
Vielen Dank für den Artikel und ganz generell danke für die Seite und euren Content.
Martin Loretz (nicht überprüft)
Perfekt. Danke!
Di., 15.09.2020 - 14:47So, nun habe ich das Modul getestet und es hat mich überzeugt.
Danke für den Tipp und die kleine Einführung.