Damit Inhalte einer Website kategorisiert und mit Schlagwörtern ausgezeichnet werden können, stellt Backdrop CMS das überaus nützliche Taxonomie-System bereit. Was es mit Taxonomie, Vokabularen und Begriffen auf sich hat und wie ein Zusatzmodul die Verschlagwortung erleichtert, habe ich vor längerer Zeit in einem anderen Artikel beschrieben. Im heutigen Beitrag geht es um die Darstellung von Taxonomie-Seiten.
Ausgangslage
In der Standard-Einstellung zeigt Backdrop auf Taxonomie-Seiten eine chronologische Liste angerissener Teaser-Beiträge, die mit einem bestimmten Begriff verschlagwortet oder kategorisiert wurden. Die Teaser-Liste erfüllt auf den ersten Blick ihren Zweck, doch besonders ansprechend ist sie nicht. Änderungen an der Darstellung sind im Grunde zwar einfach möglich. Allerdings würden sie auch andere Stellen betreffen, so z.B. eine Liste neuer Artikel auf der Startseite.
Ähnliches gilt für Auswahl und Sortierung der Beiträge: Sie lassen sich nach Aktivierung der vom Views-Modul bereitgestellten Datenbank-Ansicht »Taxonomy term« anpassen, doch das Ergebnis betrifft dann alle Taxonomie-Seiten, unabhängig vom Vokabular.
Dabei unterscheiden sich verschiedene Vokabulare einer Website mitunter deutlich. So stehen News-Artikeln mit Aktualitätsbezug und locker thematischen Schlagwörtern etwa zeitlose Wiki-Einträge mit systematischen Kategorien gegenüber. In einer solchen Konstellation ist es von Interesse, Taxonomie-Listen unterschiedlich darzustellen: Während zu Wiki-Einträgen eine alphabetische Reihenfolge passt, werden Listen ›getagger‹ News gerne chronologisch sortiert. In der Regel sollen auch unterschiedliche Felder verwendet werden. Gefragt sind also Listen von Taxonomie-Begriffen, die nach Vokabular differenziert werden.
Planung
Views-Listen
Da die vom Views-Modul mitgelieferte Ansicht »Taxonomy term« die Anforderungen nicht erfüllt, möchte ich zwei eigene Datenbank-Ansichten bauen – eine für News-Schlagwörter, und eine für Wiki-Kategorien. Wie teile ich dem System nun mit, dass es zur Darstellung von Taxonomie-Seiten meine Ansichten verwendet? Indem ich ihm sage, dass es nicht das Standard-Listing nutzen soll. Und genau das ist der Zweck des Zusatzmoduls Disable Term Content Listings.
Seiten vs. Blöcke
Wegen der Vorzüge des Backdrop-Layout-Systems lege ich Datenbank-Ansichten kaum noch als Seiten mit einem eigenen Pfad an. Zum Einsatz kommen vielmehr Views-Blöcke, die ich dann im gewünschten Layout platziere. Auf welchen Seiten und mit welchen Pfaden diese Blöcke auf der Website erscheinen, werde ich mit der Hilfe von Sichtbarkeitseinstellungen bestimmen.
Schritt für Schritt
Inhaltstypen vorbereiten
Zur Vorbereitung benötige ich zwei Inhaltstypen: einen für News, einen für Wiki-Einträge. News werden ohne formale Vorgaben mit dem eingebauten Tags-Vokabular verschlagwortet. Für das Wiki erstelle ich ein neues, systematischer organisiertes Kategorie-Vokabular.
Taxonomie-Listings umstellen
Nachdem ich über den Projekt-Browser das Zusatzmodul Disable Term Content Listings installiert habe, gehe ich zu den beiden Vokabularen und wähle jeweils die Option »Disable content listing for all terms«.
Views-Blöcke bauen
Nun baue ich pro Vokabular eine Datenbank-Ansicht mit zwei bis drei Blöcken.
News
Der Views-Block Alle Artikel wird die Grundlage einer allgemeinen News-Seite. Er zeigt Inhalt vom Typ News, enthält die üblichen Felder inkl. des Beitragsdatums und wird chronologisch absteigend sortiert.
Der Block Nach Begriff dient der Auflistung von News-Artikeln, die zu einem bestimmten Schlagwort gehören. Er wird zunächst genau so konfiguriert wie Alle Artikel, erhält jedoch zusätzlich den Kontextfilter »Has taxonomy term ID« mit Standardwert »Taxonomy term ID from URL«.
Wiki
Im Views-Block Alle Einträge lasse ich Inhalt vom Typ Wiki anzeigen, und zwar nur das Titel-Feld. Sortiert wird alphabetisch aufsteigend nach Titel.
Wie bereits bei News, unterscheidet sich der Block Nach Begriff auch beim Wiki durch Ergänzung des Kontextfilters »Has taxonomy term ID«.
Optional erstelle ich eine weitere View für ein Kategorie-Menü in der Seitenleiste: Zeige Taxonomie-Begriffe des Typs Wiki Categories, sortiert nach Name.
Taxonomie-Layout hinzufügen
Die Views-Blöcke Nach Begriff, welche die Standard-Darstellung von Begriffen ersetzen, sollen in einem eigenen Taxonomie-Layout platziert werden. Zu diesem Zweck füge ich ein neues Layout hinzu und gebe den Pfad taxonomy/term/%
an. Der Pfad sorgt dafür, dass dieses Layout für Seiten mit Taxonomie-Begriffen verwendet wird.
Blöcke in Layout platzieren
Da nun alle Elemente vorhanden sind, kann ich meine Views-Blöcke in verschiedene Layouts einfügen.
News
Der Views-Block Alle Artikel wird im Default-Layout platziert und ist bei Aufruf des URL-Pfads news
sichtbar.
Den Block Nach Begriff platziere ich im Taxonomie-Layout; eine Sichtbarkeitseinstellung wird nicht benötigt.
Wiki
Der Block Alle Einträge wird im Default-Layout platziert, sichtbar nur bei Aufruf des Pfads wiki
.
Der Block Nach Begriff kommt ohne Sichtbarkeitseinstellung ins Taxonomie-Layout.
Optional ergänze ich ein zuvor erstelltes Kategorie-Menü in der Seitenleiste beider Layouts.
Fazit
Für die differenzierte Darstellung von Taxonomie-Seiten bietet der Backdrop-Kern keine Fertiglösung. Ist das Zusatzmodul »Disable Term Content Listings« installiert, bieten eigene Views-Blöcke und Layouts jedoch alle Möglichkeiten. Dabei ist es nicht einfach, alle Elemente, ihren Zweck und ihre Konfiguration im Blick zu behalten. Möge dieser Artikel ein wenig zur Übersicht beitragen.