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

Speicherung der Konfiguration in Drupal 8

19/06/2025, by Ivan

Standardmäßig werden Konfigurationsinformationen in Drupal 8 in der Datenbank gespeichert.

Format der Konfigurationsdatei (YAML)

Erweiterungen (Module, Themes und Profile) liefern Konfigurationsdaten in YAML-Dateien.

Hier ist ein Beispiel für eine Konfigurationsdatei:

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

Konfiguration kann auch verschachtelt sein. Hier ein Beispiel:

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

Konfigurationsschema

Konfiguration hat ein Schema. Dies wird in der Konfigurationsschema/-Metadaten-Dokumentation beschrieben.

Standardkonfiguration für Erweiterungen

Eine Erweiterung (Modul, Theme oder Profil), die Standardwerte für ihre Konfiguration bereitstellt, muss diese Konfiguration in YAML-Dateien im Unterverzeichnis config/install ablegen.

Wenn eine Erweiterung nur einfache Basiskonfiguration benötigt, können alle Standardwerte in einer Datei modulename.settings.yml abgelegt werden. Für komplexere Einstellungen können Sie Ihre Konfiguration auf mehrere Dateien aufteilen. Jedes Konfigurationsobjekt sollte in seine eigene YAML-Datei gelegt werden, die generiert wird, wenn das Modul seine Konfiguration schreibt (versuchen Sie nicht, diese manuell zu schreiben).

Um Standardwerte für Konfigurationen bereitzustellen, die dynamische Werte benötigen (die also nicht in modulename.settings.yml gesetzt werden können), tun Sie dies in hook_install(). Zum Beispiel:

/**
 * Implements hook_install().
 */
function modulename_install() {
  // Setze Standardwerte für Konfigurationen, die dynamische Werte benötigen.
  \Drupal::configFactory()->getEditable('modulename.settings')
    ->set('default_from_address', \Drupal::config('system.site')->get('mail'))
    ->save();
}

Optionale Konfiguration für Erweiterungen

Optionale Konfigurationselemente für eine Erweiterung (Modul oder Theme) werden im Unterverzeichnis config/optional gespeichert.

Dies sind Konfigurationselemente, die von etwas abhängen, wovon die Erweiterung selbst nicht explizit abhängig ist, daher werden sie nur gesetzt, wenn alle ihre Abhängigkeiten erfüllt sind.

Beispielsweise in einem Szenario, in dem Modul A optionale Konfiguration besitzt, die Modul B benötigt, Modul A aber zuerst installiert wird und Modul B später, wird das Verzeichnis config/optional von Modul A zu diesem Zeitpunkt auf neu erkannte Abhängigkeiten geprüft, und die Konfiguration wird dann installiert. Wenn Modul B nie installiert wird, wird das optionale Konfigurationselement ebenfalls nicht installiert.

Aktive Konfigurationsspeicherung

Standardmäßig speichert Drupal 8 die aktive Konfiguration in der Datenbank, um Leistung und Skalierbarkeit zu verbessern. Siehe „Aktive Konfiguration standardmäßig“, die von Dateispeicher auf Datenbankspeicher geändert wurde, für weitere Informationen.

Konfiguration von YAML in die Datenbank aktualisieren

Wenn Sie während der Entwicklung die Konfiguration von YAML in die Datenbank aktualisieren müssen, können Sie den Befehl drush config-import (cim) verwenden.
Sie bearbeiten die YAML-Konfigurationsdatei im Ordner der aktiven Konfiguration (wie in der settings.php definiert, z. B. sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync), und führen dann drush cim aus. Leeren Sie den Cache (drush cr), um die Änderungen zu sehen.
Wenn Sie mit den Einstellungen in der YAML-Datei zufrieden sind, kopieren Sie diese in Ihr Modul oder Theme.

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.