Čuvanje konfiguracije u Drupal 8
Podrazumevano se informacije o konfiguraciji u Drupalu 8 čuvaju u bazi podataka.
Format fajla konfiguracije (YAML)
Ekstenzije (moduli, teme i profili) obezbeđuju konfiguracione podatke u YAML fajlovima.
Evo primera fajla konfiguracije:
some_string: 'Woo kittens!' some_int: 42 some_bool: true
Konfiguracija može biti i ugnježdena. Evo primera:
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
Šema konfiguracije
Konfiguracija poseduje šemu. Ovo je opisano u šemi konfiguracije/dokumentaciji metapodataka.
Podrazumevana konfiguracija ekstenzije
Ekstenzija (modul, tema ili profil) koja obezbeđuje podrazumevane vrednosti za svoju konfiguraciju treba da smesti tu konfiguraciju u YAML fajlove u svom poddirektorijumu config/install
.
Ako ekstenziji trebaju samo osnovna podešavanja jednostavne konfiguracije, sva podrazumevana podešavanja mogu biti smeštena u jedan fajl modulename.settings.yml
. Za složenija podešavanja možete podeliti konfiguraciju u više fajlova. Svaki konfiguracioni objekat treba da bude u svom YAML fajlu i oni treba da budu generisani automatski kada modul snima svoju konfiguraciju (nemojte ih ručno uređivati).
Da biste obezbedili podrazumevane vrednosti za konfiguraciju koja zahteva dinamičku vrednost (koja stoga ne može biti postavljena u modulename.settings.yml
), uradite to u hook_install(). Na primer:
/** * Implements hook_install(). */ function modulename_install() { // Postavi podrazumevane vrednosti za konfiguraciju koja zahteva dinamičke vrednosti. \Drupal::configFactory()->getEditable('modulename.settings') ->set('default_from_address', \Drupal::config('system.site')->get('mail')) ->save(); }
Opcionalna konfiguracija ekstenzije
Opcionalni konfiguracioni elementi za ekstenziju (modul ili temu) čuvaju se u poddirektorijumu config/optional
.
To su konfiguracioni elementi koji zavise od nečega čemu sama ekstenzija nije eksplicitno zavisna, pa se postavljaju samo ako su njihove zavisnosti ispunjene.
Na primer, ako modul A ima opcionu konfiguraciju koja zahteva modul B, ali modul A je instaliran pre modula B, tada će se tokom instalacije modula B pregledati direktorijum config/optional
modula A za nove zavisnosti i konfiguracija će se tada instalirati. Ako modul B nikada nije instaliran, dodatni konfiguracioni elementi se neće instalirati.
Aktivno skladište konfiguracije
Podrazumevano Drupal 8 čuva aktivnu konfiguraciju u bazi podataka radi boljih performansi i skalabilnosti. Pogledajte "Active configuration default changed from file storage to database storage" za više informacija.
Ažuriranje konfiguracije iz YAML fajlova u bazu podataka
Ako tokom razvoja treba da ažurirate konfiguraciju iz YAML fajlova u bazu podataka, možete koristiti drush komandu config-import (cim)
.
Izmenite YAML fajl konfiguracije u folderu aktivne konfiguracije (kao što je definisano u settings.php
, na primer sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync
), zatim pokrenite drush cim. Očistite keš (drush cr) da vidite promene.
Ako ste zadovoljni podešavanjima u YAML fajlu, možete ih kopirati u vaš modul ili temu.
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.