logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

Verwendung der UI zum Exportieren von Code für benutzerdefinierte Felder

18/06/2025, by Ivan

Manchmal, wenn Sie einen Inhaltstyp aus einem benutzerdefinierten Modul bereitstellen, möchten Sie auch Felder hinzufügen, die zu diesem Inhaltstyp gehören. Die Möglichkeit, Felder automatisch zu erstellen, ermöglicht es Ihnen, die Installation auf mehreren Seiten zu deinstallieren und erneut zu installieren, ohne dass unerwünschte Felder zurückbleiben, und stellt sicher, dass Sie nicht vergessen, sie hinzuzufügen. Es gibt zwei Möglichkeiten, diese Felder in Ihren Code einzubringen, die wir hier betrachten werden.

Voraussetzungen

  • Drupal 8.0.x ist installiert.
  • Sie haben ein benutzerdefiniertes Modul (der Modulname in diesem Beispiel ist foobar).
  • Sie haben einen benutzerdefinierten Inhaltstyp im Modul (bitte folgen Sie den Anweisungen auf der übergeordneten Seite. Der Name des Inhaltstyps lautet "Car Brand").

Zusätzliche Felder zu unserem Inhaltstyp hinzufügen

Es gibt zwei Möglichkeiten, diesen Schritt zu machen. Sie können das Benutzerinterface verwenden, um Felder zu erstellen und die Konfiguration in Dateien zu exportieren, oder Sie können die Dateien einfach selbst schreiben. Ich persönlich bevorzuge die erste Methode, um sicherzugehen, dass Sie nichts Wichtiges übersehen, allerdings werden die Felder mit "field_" am Anfang exportiert und nicht mit "foobar_car_brand_", um sie mit unserem benutzerdefinierten Inhaltstyp zu verbinden. Wir werden hier den Einsatz des Benutzerinterfaces betrachten, um Felder zu erstellen und den Code zu exportieren, der in Ihrem benutzerdefinierten Modul verwendet werden soll.

Felder über die UI erstellen

Wie bereits erwähnt, ist diese Methode etwas besser für Benutzer, die mit den Anforderungen von Drupal an das Hinzufügen von Feldern zu Inhaltstypen nicht so vertraut sind.

Benutzerdefinierten Inhaltstyp aktivieren

Falls Sie das Modul foobar noch nicht am Ende der übergeordneten Seite aktiviert haben, tun Sie dies jetzt. Wenn Sie nun zur Seite "Inhalt erstellen" gehen, sehen Sie, dass Sie einen neuen Knoten des Inhaltstyps "Car Brand" erstellen können.

/admin/structure/types/manage/car_brand/fields

Jetzt, da Ihr Modul aktiviert ist, können Sie zum Bereich zur Verwaltung der Felder Ihres Inhaltstyps gehen. Fügen Sie alle gewünschten Felder hinzu. Stellen Sie nur sicher, dass eines der Felder, das Sie hinzufügen, „Brand Information“ (field_brand_information) vom Feldtyp „Text“ (formatiert, lang, mit Zusammenfassung) ist, und löschen Sie das Textfeld. Lassen Sie den Rest auf Standard.

Verwendung der UI zum Exportieren der Feldkonfiguration /admin/config/development/configuration/single/export

Sobald Sie Ihre Felder hinzugefügt haben, gehen Sie zur Konfigurationssynchronisationsseite. Oben gibt es drei Tabs. Wählen Sie unter diesen drei "Export". Dann wählen Sie "Einzelnes Element" unter diesen Tabs.

Exportkonfiguration erhalten

Unten finden Sie vier Bilder, die zeigen, welche Elemente für das Feld "field_brand_information" exportiert werden müssen.

  • Feldspeicherung (Field Storage)
  • Feld (Field)
  • Entity View Display
  • Entity Form Display

Unter dem Konfigurationscode sehen Sie den Dateinamen, den Sie in Ihrem benutzerdefinierten Modul erstellen müssen. Kopieren Sie alles im Konfigurationscode in die angegebene Datei, außer der ersten Zeile, die mit "uuid:" beginnt.

Hinweis: Wenn Sie zusätzliche Felder hinzugefügt haben, müssen Sie Feld- und Feldspeicher jeweils für diese exportieren. Dasselbe gilt, wenn Sie mehrere Darstellungen erstellt haben, wie z.B. den Teaser. In diesem Beispiel zeigen wir nur die Standardansicht.

modules/custom/foobar/config/install/field.storage.node.field_brand_information.yml

field_storage

modules/custom/foobar/config/install/field.field.node.car_brand.field_brand_information.yml

field_5

modules/custom/foobar/config/install/core.entity_view_display.node.car_brand.default.yml

entity_view_display

modules/custom/foobar/config/install/core.entity_form_display.node.car_brand.default.yml

entity_form_display

Modul foobar deinstallieren und wieder aktivieren
Jetzt, da Sie alle Ihre Feldkonfigurationen in Ihrem Code haben, ist es Zeit, das Modul foobar zu deinstallieren. Nachdem Sie es deinstalliert haben, gehen Sie zurück und aktivieren Sie das Modul erneut, um zu sehen, ob es Ihre benutzerdefinierten Felder erstellt. Wenn Sie jetzt zur Seite "Inhalt erstellen" gehen, werden Sie sehen, dass Sie einen neuen Knoten des Inhaltstyps "Car Brand" erstellen können, der unser neues Feld "Brand Information" und alle anderen Felder enthält, die Sie erstellt haben.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.