Armazenamento de configuração no Drupal 8
Por default a informacao de configuracao no D8 guarda-se no banco de dados.
Формат файла конфигурации (YAML)
Расширения (модули, темы и профили) предоставляют данные конфигурации в файлах YAML.
Вот пример файла конфигурации:
some_string: 'Woo kittens!'
some_int: 42
some_bool: true
Tambem pode aninhar-se. Exemplo:
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
Схема конфигурации
Конфигурация имеет схему. Это описано в схеме конфигурации/документации метаданных.
Конфигурация по умолчанию для расширения
Расширение (модуль, тема или профиль), предоставляющее значения по умолчанию для своей конфигурации, должно поместить эту конфигурацию в файлы YAML в своем подкаталоге config/install.
Se bastam parametros basicos de simple configuration os defaults cabem num unico modulename.settings.yml; settings mais complexas podem dividir-se em varios arquivos - cada config entity em seus proprios arquivos gerados pelo modulo (nao escreva a mao).
Para defaults exigindo valor dinamico (impossivel em modulename.settings.yml) use hook_install(). Ex.:
/**
* Implements hook_install().
*/
function modulename_install() {
// Set default values for config which require dynamic values.
\Drupal::configFactory()->getEditable('modulename.settings')
->set('default_from_address', \Drupal::config('system.site')->get('mail'))
->save();
}
Необязательная конфигурация для расширения
Необязательные элементы конфигурации для расширения (модуля или темы) хранятся в подкаталоге config/option.
Это элементы конфигурации, которые зависят от чего-то, от чего само расширение явно не зависит, поэтому они устанавливаются только при соблюдении всех их зависимостей.
Ex.: modulo A com config opcional exigindo B: instala-se A primeiro e depois B - o diretorio config/option de A escaneia-se entao achando dependencias novas instalando-se a configuracao; se B nunca instalar o item tambem nao.
Активная конфигурация хранилища
По умолчанию Drupal 8 сохраняет активную конфигурацию в базе данных для повышения производительности и масштабируемости. См. «Активная конфигурация по умолчанию» изменена с хранилища файлов на хранилище БД для получения дополнительной информации.
Обновить конфигурацию из yaml в базу данных
Если во время разработки вам нужно обновить конфигурацию с yaml до базы данных, вы можете использовать команду drush config-import (cim).
Вы редактируете файл конфигурации yml в папке активной конфигурации (как определено в файле settings.php, например, sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync), а затем запускаете drush cim. Очистите кэши (drush cr), чтобы увидеть изменения.
Satisfeito com as settings do ymp copie-as para seu modulo ou tema.