1.7. Feld, Entität: Arbeiten mit Feldern und Entitäten.
In Drupal gibt es großartige Module wie Fields, Field UI, die es uns ermöglichen, verschiedene Felder an Objekte (Nodes, Kommentare, Benutzer, Taxonomie-Begriffe) anzuhängen, die durch das Entity-Modul erstellt werden. Mithilfe von Entity + Fields kann man jede Verbindung zwischen realen Objekten auf der Website umsetzen. Zum Beispiel hat man eine Firma, die Firma hat verschiedene Abteilungen, und in den Abteilungen gibt es Mitarbeiter. Erstellen Sie ein Taxonomie-Vokabular „Abteilung“, schreiben Sie dort alle Abteilungen der Firma hinein und erstellen Sie einen Inhaltstyp „Mitarbeiter“ und hängen Sie ihm ein Feld an.
Wir erhalten somit nicht nur Seiten für Abteilungen und Mitarbeiter, sondern auch ein verknüpftes Verzeichnis. In dieser Lektion erstellen wir ein solches Verzeichnis von Abteilungen und Mitarbeitern, aber zunächst ist es wichtig zu verstehen, dass Drupal es erlaubt, schnell das Hinzufügen verschiedener Objekte zur Website zu konfigurieren und Verknüpfungen zwischen diesen Objekten einzurichten.
Bevor wir mit der Lektion beginnen, prüfen Sie, ob die Module Entity, Field, Field UI und Taxonomy aktiviert sind.
Lassen Sie uns ein Taxonomie-Vokabular „Abteilung“ erstellen (wir haben bereits Taxonomie-Wörterbücher in dieser Lektion erstellt):
Nun erstellen wir den Inhaltstyp „Mitarbeiter“ (wir haben den Inhaltstyp bereits in dieser Lektion hinzugefügt), das Feld Titel kann in „Vollständiger Name“ umbenannt werden:
Klicken Sie jetzt auf „Manage Fields“ (Felder verwalten):
Felder verwalten
Auf diesem Tab können wir Felder zu unseren Inhaltstypen (sowie anderen Entitäten: Kommentare, Benutzer etc.) hinzufügen. Fügen wir einen Link zum Vokabular „Abteilungen“ hinzu:
Jeder Mitarbeiter hat auch eine Position, fügen wir das Feld „Position“ hinzu. Feldtyp auswählen: Text, das ist ein normales Textfeld.
Wir können auch ein Geburtstagsfeld hinzufügen (prüfen Sie, ob das Datetime-Modul aktiviert ist):
Beim Datentyp ist es am besten, „Nur Datum“ auszuwählen:
Lassen Sie uns das Feld „Body“ in „Über mich“ umbenennen:
Bezeichnung umbenennen:
Wir haben einigen Feldern zu jedem Mitarbeiter hinzugefügt (im nächsten Lesson werden wir ein Fotofeld hinzufügen, um Fotos von Mitarbeitern hochzuladen). Nun haben wir auf der Seite zum Hinzufügen jedes Mitarbeiters zusätzliche Felder.
Wenn Sie die Felder im Bearbeitungsformular der Node tauschen möchten, gehen Sie zum Tab „Manage form display“ (Formularanzeige verwalten).
Formularanzeige verwalten
Auf diesem Tab verwalten wir das Formular zum Hinzufügen der Node, die Reihenfolge der Anzeige auf der Seite wird im Tab „Manage display“ (Anzeige verwalten) konfiguriert.
Anzeige verwalten
Wir können die Ausgabe des Feldes „Abteilung“ für den Teaser der Node ausblenden, da im Teaser auf der Abteilungsseite nur Mitarbeiter dieser einen Abteilung angezeigt werden. Gleichzeitig zeigen wir das Abteilungsfeld im vollständigen Node an, damit man zur Abteilungsseite zurückkehren kann.
Sie müssen auch das Datumsformat für den Geburtstag so anpassen, dass nur die Zahl ohne Zeit angezeigt wird. Klicken Sie dazu auf das Zahnrad und wählen Sie das gewünschte Datumsformat aus:
Vergessen Sie nicht, nach jeder Änderung zu speichern. Das Gleiche sollte für die Anzeige „Default“ gemacht werden (wenn wir keine Anzeige „Full content“ erstellen, wird die Anzeige „Default“ für die volle Node angewandt).
Jetzt können wir Mitarbeiter hinzufügen.
Wenn Sie die Bearbeitungsseite des Vokabulars „Abteilungen“ besuchen, finden Sie dort auch Tabs zum Bearbeiten der Felder der Taxonomie der Abteilungen.
So können Sie für jede Abteilung Felder hinzufügen (z.B. Anzahl der Mitarbeiter, Abteilungslogo).
Dasselbe können Sie bei den Benutzern der Website tun, auf der Seite „Kontoeinstellungen“
/admin/config/people/accounts
Nun wissen Sie, dass Sie Felder zu allem hinzufügen können. Sie können selbst entscheiden, ob Sie besser Taxonomie, Benutzer oder Nodes verwenden. Zum Beispiel können Sie anstelle eines Taxonomie-Wörterbuchs den Inhaltstyp „Abteilung“ verwenden und mit dem Modul „Entity reference“ eine Verbindung zum Inhaltstyp „Mitarbeiter“ herstellen, das es ermöglicht, solche Felder zu erstellen. Auch können Sie Beziehungen mit Entity reference konfigurieren.
Die Möglichkeit, Felder in Drupal zusammen mit dem Views-Modul hinzuzufügen, bietet enorme Möglichkeiten zur Erstellung von Websites. Daher können Sie mit der nächsten Lektion fortfahren, auch wenn Sie jetzt noch nicht alles verstehen.