- Teil 1: Drupal 8 bringt frischen Wind …
- Teil 2: Kunstarchiv mit Drupal 8 – Benutzer
Im dritten Teil des Kunstarchivs mit Drupal 8 geht es um die Werke. Jeder Benutzer soll beliebig viele Werke beschreiben können. Die einfachste Variante ist, einen neuen Inhaltstyp zu erzeugen und den Benutzern zu erlauben, Inhalte dieses Inhaltstyps zu erstellen, zu bearbeiten und zu löschen.
Neuer Inhaltstyp
Neue Inhaltstypen kannst du dir wie Tabellen vorstellen. Eine Tabelle voller Werke, jede Spalte ein Feld, jede Zeile ein Werk. Jeder Inhaltstyp hat mindestens einen Autor, einen Titel, einen Textbereich, beliebig viele Felder sowie Parameter ob beispielsweise Kommentare möglich sind oder nicht (/admin/structure/types/add).
Wie bereits bei den Profilfeldern (siehe Teil II), können auch bei Inhaltstypen Felder hinzugefügt werden. Der standardmässige Textbereich (Body) kann aus einem Inhaltstyp bei Bedarf entfernt werden, in unserem Fall passt er aber gut, denn dort kann die Beschreibung für das Werk erfolgen. Zusätzlich lege ich ein Feld Standort, ein Feld für weiterführende Links und ein Feld für Bilder an. Das Bildfeld existiert schon im Inhaltstyp Artikel und muss hier nur zugeordnet werden. Nach der Anlage ist der Inhaltstyp Werk unter /admin/structure/types/manage/werk/fields aufrufbar.
Ab jetzt können Daten eingegeben werden (/node/add/werk). Das Eingabeformular enthält die neuen Felder. Im Textbereich ist ein WYSIWYG Editor aktiv. Drupal hat unterschiedliche Textformate (einfaches HTML, eingeschränktes HTML, vollständiges HTML). Hier kann man konfigurieren, welche Benutzergruppe welche Tags und Zusatzfunktionen nutzen darf. Ich lasse alles bei den Standardeinstellungen.
Nach dem Speichern ist das Werk im „System“ und damit wird der Autor auch zum Eigentümer des Nodes. Damit das für „angemeldete Benutzer“ klappt, müssen sie die Rechte dazu erhalten. Ich setze die entsprechenden Checkboxen, damit Benutzer einen neuen Inhalt erzeugen und ihre eigenen Inhalte bearbeiten und löschen können. Jeder Inhaltstyp kann auch versioniert werden, dazu muss allerdings die entsprechende Checkbox in den Parametern des Inhaltstyps aktiviert sein.
Liste aller Werke
Wir wollen alle Werke auf einer Übersichtsseite darstellen. Dazu kannst du mit dem Ansichten (Views) Modul eine individuelle Ansicht erstellen (/admin/structure/views/add). Ich erzeuge eine neue Ansicht mit dem Namen Werke und dem Inhalt vom Typ Werk, sortiert nach Neueste zuerst. Ich hätte gern eine Seite, der Seitentitel soll Werke sein, der Pfad werke. Die Werke sollen in einer Tabelle angezeigt werden.
Nach einem Klick auf speichern und bearbeiten kommst du in die Ansichten Bearbeitungsmaske, die recht komplex daherkommt, aber keine Bange, es ist gar nicht so kompliziert :). Die Anzeige teilt sich in einen Anzeige- und einen Vorschaubereich (weiter unten). Der Anzeigebereich kann mehrere Seiten, Blöcke und auch andere Typen enthalten, momentan enthält er nur eine Seite (Page).
Wir müssen noch die Felder, die wir ausgeben wollen hinzufügen und einen Menülink definieren. Bei den Feldern ist momentan nur das Titelfeld zu sehen. Beim Hinzufügen musst du beim Bildfeld darauf achten, dass es sein kann, das mehrere Bilder pro Werk hochgeladen werden (es kommt auf die Konfiguration des Bildfeldes an). Wenn das so ist, dann solltest du in der Tabelle nur das Erste Bild einzeigen. Dafür gibt es in den Feldeinstellungen einen Bereich Multiple Field Settings.
Den Menulink legst du in den Seiteneinstellungen fest (Normaler Menüeintrag).
Nach dem Speichern sollte die Liste aller Werke angezeigt werden.
Ausser einer Tabelle kannst du auch ein Grid (Raster), eine HTML-Liste oder eine unformatierte Liste ausgeben. Durch einen Klick auf den Titel gelangt man in die Einzelansicht des Werks. Das Ansichten Modul ist die Basis für ein ganzes Universum von Zusatzmodulen. Beispielsweise könntest du, mit der entsprechenden Modul Erweiterung, mehrere Bilder als Slideshow darstellen oder ein RSS-Feed neuer Werke erstellen.
Das Projekt soll blühen, gedeihen und sich entwickeln. Du kannst gern deine Kunstwerke dort beschreiben und archivieren. Die weitere Entwicklung habe ich auf der Roadmap skizziert. Wir sind offen für weitere Ideen. Hier kannst du übrigens ein neues Benutzerkonto erstellen 🙂
Fazit
Bereits mit einer Core Drupal 8 Installation kommt man sehr weit bei der Erstellung komplexer Websites.
tl;dr: Drupal 8 besitzt bereits im Core die Möglichkeit massgeschneiderte Sichten auf Daten zu erstellen.
Schreibe einen Kommentar