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
03/10/2025, by Ivan

Standaard wordt configuratie-informatie in Drupal 8 opgeslagen in de database.

Configuratiebestandsformaat (YAML)

Extensies (modules, thema’s en profielen) leveren configuratiegegevens aan in YAML-bestanden.

Hier is een voorbeeld van een configuratiebestand:

some_string: 'Woo kittens!'
some_int: 42
some_bool: true

Configuratie kan ook genest zijn. Hier is een voorbeeld:

name: thumbnail
label: 'Thumbnail (100x100)'
effects:
  1cfec298-8620-4749-b100-ccb6c4500779:
    id: image_scale
    data:
      width: 100
      height: 100
      upscale: true
    weight: 0
    uuid: 1cfec298-8620-4749-b100-ccb6c4500779

Configuratieschema

Configuratie heeft een schema. Dit wordt beschreven in de configuratieschema-/metadata documentatie.

Standaardconfiguratie voor een extensie

Een extensie (module, thema of profiel) die standaardwaarden voor zijn configuratie levert, moet deze configuratie opslaan in YAML-bestanden in zijn submap config/install.

Als de extensie alleen basisinstellingen voor eenvoudige configuratie nodig heeft, kunnen alle standaardinstellingen worden opgeslagen in één bestand modulenaam.settings.yml. Voor complexere instellingen kunt u uw configuratie opsplitsen in meerdere bestanden. Elk configuratieobject moet worden opgeslagen in zijn eigen YAML-bestand, en deze moeten worden gegenereerd wanneer de module zijn configuratie opslaat (probeer deze niet handmatig te schrijven).

Om standaardwaarden te leveren voor configuratie die dynamische waarden vereist (die dus niet kunnen worden ingesteld in modulenaam.settings.yml), doet u dit in hook_install(). Bijvoorbeeld:

/**
 * Implements hook_install().
 */
function modulename_install() {
  // Stel standaardwaarden in voor config die dynamische waarden nodig hebben.
  \Drupal::configFactory()->getEditable('modulename.settings')
    ->set('default_from_address', \Drupal::config('system.site')->get('mail'))
    ->save();
}

Optionele configuratie voor een extensie

Optionele configuratie-items voor een extensie (module of thema) worden opgeslagen in de submap config/optional.

Dit zijn configuratie-items die afhankelijk zijn van iets waar de extensie zelf niet expliciet van afhankelijk is. Ze worden dus alleen geïnstalleerd wanneer al hun afhankelijkheden aanwezig zijn.

Bijvoorbeeld: als module A optionele configuratie heeft die module B vereist, maar module A wordt eerst geïnstalleerd en module B later, dan zal de map config/optional van module A worden gescand wanneer module B wordt geïnstalleerd, en zal de configuratie dan worden toegepast. Als module B nooit geïnstalleerd wordt, zal het optionele configuratie-item ook nooit geïnstalleerd worden.

Actieve configuratieopslag

Standaard bewaart Drupal 8 de actieve configuratie in de database voor betere prestaties en schaalbaarheid. Zie «Standaard actieve configuratie» (veranderd van bestandsopslag naar database-opslag) voor meer informatie.

Configuratie bijwerken van YAML naar database

Als u tijdens de ontwikkeling de configuratie moet bijwerken van YAML naar de database, kunt u de drush-commando config-import (cim) gebruiken.
U bewerkt het configuratiebestand (.yml) in de map voor actieve configuratie (zoals gedefinieerd in settings.php, bijvoorbeeld sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync) en voert dan drush cim uit. Maak de caches leeg (drush cr) om de wijzigingen te zien.
Als u tevreden bent met de instellingen in het .yml-bestand, kunt u ze kopiëren naar uw module of thema.