logo

Extra Block Types (EBT) - Nieuwe Layout Builder ervaring❗

Extra Block Types (EBT) - gestileerde, aanpasbare bloktypes: Slideshows, Tabs, Cards, Accordions en vele andere. Ingebouwde instellingen voor achtergrond, DOM Box, javascript-plugins. Ervaar vandaag al de toekomst van layout building.

Demo EBT-modules Download EBT-modules

❗Extra Paragraph Types (EPT) - Nieuwe Paragraphs ervaring

Extra Paragraph Types (EPT) - analoge op paragrafen gebaseerde set modules.

Demo EPT-modules Download EPT-modules

Scroll

Gebruik van de UI voor het exporteren van code voor aangepaste velden

30/09/2025, by Ivan

Soms, wanneer je een inhoudstype uit een custom module extraheert, kun je ook velden toevoegen die betrekking hebben op dat inhoudstype. De mogelijkheid om automatisch velden aan te maken stelt je in staat om te verwijderen en opnieuw te installeren op meerdere sites, zonder overbodige velden achter te laten en met de garantie dat je niet vergeet ze toe te voegen. Er zijn twee manieren om deze velden aan je codebasis toe te voegen, die we zullen bekijken.

Voorwaarden

  • Drupal 8.0.x is geïnstalleerd.
  • Je hebt een custom module (de modulenaam die in dit voorbeeld wordt gebruikt is foobar).
  • Je hebt een custom inhoudstype in de module (Volg de instructies op de bovenliggende pagina. De naam van het inhoudstype zal Automerk zijn).

Extra velden toevoegen aan ons inhoudstype

Er zijn twee manieren om deze stap te doen. Je kunt de gebruikersinterface gebruiken om velden aan te maken en configuratie te exporteren naar bestanden, of je kunt gewoon zelf de bestanden schrijven. Ik gebruik graag de eerste optie, gewoon om zeker te zijn dat je niets mist dat vereist is. Houd er echter rekening mee dat velden worden geëxporteerd met “field_” aan het begin, en niet “foobar_car_brand_”, om ze te koppelen aan ons custom inhoudstype. We zullen hier de gebruikersinterface gebruiken om velden aan te maken en de code te exporteren die in je custom module zal worden gebruikt.

Gebruik van de UI om velden aan te maken

Zoals eerder vermeld, is deze methode iets beter voor gebruikers die niet erg vertrouwd zijn met de vereisten die Drupal stelt voor het toevoegen van velden aan een inhoudstype.

Activeer het custom inhoudstype

Als je de foobar-module nog niet hebt ingeschakeld aan het einde van de bovenliggende pagina, doe dit dan nu. Als je nu naar de pagina “Inhoud aanmaken” gaat, zie je dat je een nieuw node van het inhoudstype “Car Brand” kunt aanmaken.

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

Nu de module is ingeschakeld, kun je naar de beheerpagina van de velden van je inhoudstype gaan. Voeg alle velden toe die je wilt. Zorg er gewoon voor dat een van de velden die je toevoegt “Brand Information” (field_brand_information) is van het veldtype “Tekst” (geformatteerd, lang, met samenvatting), en verwijder het standaard “Body”-veld. Laat de rest op de standaardinstellingen staan.

Gebruik van de UI voor export van veldconfiguratie /admin/config/development/configuration/single/export

Zodra je je velden hebt toegevoegd, ga naar de pagina voor configuratiesynchronisatie. Bovenaan staan drie tabbladen. Kies “Export” uit deze drie. Kies vervolgens “Single item” onder deze tabbladen.

Exporteerconfiguratie ophalen

Hieronder volgen vier afbeeldingen die tonen welke items je moet exporteren voor het veld “field_brand_information”.

  • Field Storage
  • Field
  • Entity View Display
  • Entity Form Display

Onder het configuratiecodeblok zie je de bestandsnaam die je moet aanmaken in je custom module. Kopieer alles uit de configuratiecode naar het opgegeven bestand, behalve de eerste regel die begint met “uuid:”.

Opmerking: als je extra velden hebt toegevoegd, moet je zowel het veld als de field storage voor elk van hen exporteren. Hetzelfde geldt als je meerdere weergaven hebt gemaakt, zoals teaser. In dit voorbeeld tonen we alleen de standaardweergaven.

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

Verwijder en activeer de foobar-module opnieuw
Nu je al je veldconfiguraties in je codebasis hebt, is het tijd om de foobar-module te verwijderen. Nadat je de module hebt verwijderd, activeer je de module opnieuw om te zien of deze je custom velden toevoegt. Als je nu naar de pagina “Inhoud aanmaken” gaat, zie je dat je een nieuw node van het inhoudstype “Car Brand” kunt aanmaken, en dat dit ons nieuwe veld met de naam “Brand Information” bevat, evenals alle andere velden die je hebt aangemaakt.