Direkt zum Inhalt
Bild
1920x600-14_6.jpg

Wie Sie mit Inline Entity Form eine Referenz-Entity erstellen, während Sie eine andere Entity erstellen

AI-Translated
article publisher

Raman

Artikel

Drupal 8 führte Entity Reference als Teil des Drupal-Kerns ein. Dies ermöglicht es Entitäten (wie Nodes, Taxonomien, Benutzer, Dateien usw.), standardmäßig eine Referenz zu anderen Entitäten hinzuzufügen. Diese Beziehung kann eins-zu-eins oder eins-zu-viele sein. Das referenzierte Element wird als übergeordnete Entität bezeichnet und das referenzierende Element als untergeordnete Entität.

Der übliche Workflow erwartet, dass die Benutzer zuerst die übergeordnete Entität hinzufügen und dann eine Referenz in der untergeordneten Entität hinzufügen. Bei komplexen Websites mit mehrstufigen Beziehungen kann dies jedoch sehr umständlich werden. 

Betrachten wir ein Beispiel: Nehmen wir an, wir haben einen Inhaltstyp "Buch", der zwei Referenzfelder hat - Autor und Publikation. Ein Buch kann mehr als einen Autor haben, daher ist es eine Eins-zu-viele-Beziehung. Darüber hinaus muss ein Buch mindestens einen Autor und eine Publikation haben. In diesem Fall erfordert das Erstellen einer Instanz eines Buches, dass seine übergeordneten Entitäten, d. h. sein Autor und seine Publikation, zuvor erstellt werden.

Daher entsteht der Bedarf nach einem besseren Workflow. Ein beigetragenes Modul, Inline Entity Form, löst dieses Problem, indem es Widgets zum Erstellen, Ändern und Entfernen von übergeordneten (referenzierten) Entitäten im selben Editor wie beim Erstellen der untergeordneten (referenzierenden) Entitäten bereitstellt.

Voraussetzungen

Inline Entity Form benötigt das Entity API Modul, das jetzt Teil des Drupal-Kerns ist.

Herunterladen und Installieren von Inline Entity Form

Zum Zeitpunkt des Verfassens dieses Artikels befindet sich Inline Entity Form in der Beta-Version für Drupal 8. Als Warnhinweis: Seien Sie vorsichtig bei der Installation der Beta-Versionen von Modulen auf einer Live-Drupal-Site.

Befolgen Sie eine der folgenden Methoden, um das Inline Entity Form Modul auf Ihrer Drupal-Site zu installieren:

  • Über die Benutzeroberfläche
  1. Navigieren Sie zu Verwalten → Erweitern → Neues Modul installieren und geben Sie die .tar.gz- oder .zip-URL des Inline Entity Form Moduls ein und klicken Sie auf Installieren.
     
    Inline Entity Form mit FTP installieren
    Inline Entity Form mit FTP installieren
  2. Sobald der Downloader und das Installationsprogramm den Download abgeschlossen haben, klicken Sie auf "Neu hinzugefügte Module aktivieren".
     
  3. Suchen Sie Inline Entity Form in der Liste der Module, wählen Sie es aus und klicken Sie auf Installieren.
     
  4. Für die restlichen Methoden navigieren Sie zuerst zum Stammverzeichnis Ihrer Drupal-Site,

$ cd /var/www/html/drupal8

 

  • Mit Composer
  1. Fügen Sie das Inline Entity Form Paket mit Composer hinzu
    $ composer require "drupal/inline_entity_form"
     
  2. Aktivieren Sie das Inline Entity Form Modul, indem Sie zu Verwalten → Erweitern navigieren, Inline Entity Form auswählen und auf Installieren klicken
     
  • Mit Drush
  1. Laden Sie Inline Entity Form herunter und aktivieren Sie es mit Drush  

$ drush dl inline_entity_form
$ drush en inline_entity_form -y

 

  • Mit Drupal Console
  1. Laden Sie Inline Entity Form herunter und installieren Sie es mit Drupal Console

$ drupal module:download inline_entity_form
$ drupal module:install inline_entity_form

Definieren von Inhaltstypen mit Referenzfeldern

Fahren wir mit dem zuvor besprochenen Beispiel fort und erstellen wir drei Inhaltstypen - Buch, Autor und Publikation mit den folgenden Feldern:

Buch
Feldbezeichnung Feldtyp
Name Titel
Beschreibung Text (formatiert, lang, mit Zusammenfassung)

ISBN
Zahl (ganze Zahl)
Autor Entitätsreferenz
Publikation Entitätsreferenz
Preis Zahl (Gleitkommazahl)

 

Autor
Feldbezeichnung Feldtyp
Name Titel
Bild Bild
Bio Text (formatiert, lang, mit Zusammenfassung)

 

Publikation
Feldbezeichnung Feldtyp
Name Titel
Ort Text (einfach)

Erstellen von Inhaltstypen mit Entitätsreferenzfeldern

  1. Navigieren Sie zu Verwalten → Struktur → Inhaltstypen und klicken Sie auf "Inhaltstyp hinzufügen"
     
  2. Geben Sie dem Inhaltstyp einen Namen und eine Beschreibung. Benennen Sie das Titelfeld nach Bedarf um und klicken Sie auf "Speichern und Felder verwalten". Klicken Sie auf "Feld hinzufügen".
     
  3. Wählen Sie "Inhalt" unter "Neues Feld hinzufügen" Dropdown-Menü und geben Sie eine geeignete Bezeichnung an. Klicken Sie auf "Speichern und fortfahren".
     
  4. Abhängig von Ihrem Beziehungstyp - eins-zu-eins oder eins-zu-viele - stellen Sie "Anzahl der zulässigen Werte" auf Beschränkt (1), Beschränkt (n) oder Unbegrenzt ein und klicken Sie auf "Feldeinstellungen speichern".
     
  5. Aktivieren Sie "Pflichtfeld", wenn die referenzierte Entität eine vollständige Teilnahme an dieser Beziehung hat. Wählen Sie die übergeordneten Inhaltstypen aus und klicken Sie auf "Einstellungen speichern"
     
  6. Wiederholen Sie die Schritte 2 bis 5 für jedes der Felder.
     

Einrichten von Inline Entity Form

  1. Navigieren Sie zu Verwalten → Struktur → Inhaltstypen
     
  2. Klicken Sie auf das Dropdown-Menü neben der untergeordneten Entität und wählen Sie Formularanzeige verwalten
     
  3. Ändern Sie das Widget der Referenzfelder in "Inline Entity Form - Komplex". Klicken Sie zusätzlich auf das Zahnradsymbol und aktivieren Sie Benutzern das Hinzufügen vorhandener Nodes erlauben. Beachten Sie, dass "Inline Entity Form - Einfach" das Hinzufügen vorhandener Nodes nicht zulässt.
Formularanzeigeeinstellungen für den Inhaltstyp Buch
Formularanzeigeeinstellungen für den Inhaltstyp Buch

Erstellen und Referenzieren einer Entität beim Erstellen einer anderen Entität

Erstellen wir nun eine Instanz von Buch mit dem Inline Entity Form:

  1. Navigieren Sie zu Verwalten → Inhalt und klicken Sie auf "Inhalt hinzufügen".
     
  2. Wählen Sie den untergeordneten Inhaltstyp "Buch" in diesem Beispiel. Beachten Sie, dass die Entitätsreferenzfelder in einem neuen Widget dargestellt werden. Wir können neue übergeordnete Nodes hinzufügen, vorhandene Nodes hinzufügen und sogar die vorhandenen Nodes mit diesem Widget bearbeiten.
     
  3. Klicken Sie auf "Neuen Node hinzufügen". Ein Inline-Formular erscheint, das die Erstellung eines neuen übergeordneten Nodes ermöglicht, ohne diese Seite zu verlassen.
     
    Inline Entity Form - Vorhandenen Node hinzufügen
    Inline Entity Form - Vorhandenen Node hinzufügen
    Inline Entity Form - Neuen Node hinzufügen
    Inline Entity Form - Neuen Node hinzufügen
  4. Füllen Sie die Felder des übergeordneten Nodes aus
     
  5. Klicken Sie auf "Speichern", um den Inhalt zu erstellen.

Inline Entity Form ermöglicht die Verwaltung referenzierter Entitäten im laufenden Betrieb und spart so viel Zeit und Mühe. Dies ist besonders nützlich für Websites mit vielen Entitäten mit komplexen Beziehungen, wie z. B. Websites, die mit Drupal Commerce erstellt wurden.

E-Commerce-Sites mit einer Auflistung der Produktartikel können Inline Entity Form enorm nutzen. In solchen Fällen können die Produktanzeigen Verweise auf Produktartikel enthalten, die einfach mit dem Inline-Widget verwaltet werden können.

Bei Fragen können Sie gerne unten kommentieren.

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Erkunden von Drupal Single Directory Components: Ein Wendepunkt für Entwickler

Single Directory Component

Webentwicklung lebt von Effizienz und Organisation, und Drupal, unser Lieblings-CMS, ist mit seiner neuesten Funktion hier,…

7 schnelle Schritte zur Erstellung von API-Dokumentationen mit Postman

How To Create API Documentation using Postman.png

Wenn Sie mit APIs arbeiten, kennen Sie wahrscheinlich bereits Postman, den beliebten REST Client, dem unzählige Entwickler…

Was ist der Product Engineering Life Cycle?

What%20is%20Product%20Engineering%20Life%20Cycle.png

Stellen Sie sich vor, Sie bauen ein Haus ohne Bauplan oder Konstruktionszeichnungen. Es wäre schwierig, die Kosten und den…