На этой странице представлен пример того, как создать тип объекта конфигурации со страницами управления администрированием для Drupal 8. Для ознакомления с понятиями простой конфигурации и объектов конфигурации см. Https://drupal.org/node/2120523.
После включения примера модуля, содержащего приведенный ниже код, пример формы конфигурации должен быть доступен в «admin/config/system/example», как показано на скриншоте:
Объекты конфигурации могут объявлять зависимости. Зависимость может быть модулем, темой или сущностью.
Зависимости объекта конфигурации должны быть установлены до того, как объект конфигурации может быть установлен. Если зависимости отсутствуют и установлены на сайте, объект конфигурации не удастся установить. Модуль должен объявить в своем информационном модуле YAML файл и зависимости темы, которые потребуются его объектам конфигурации.
Drupal 8 включает поддержку языка схемы/метаданных, созданного с помощью Kwalify (http://www.kuwata-lab.com/kwalify/) для конфигурационных файлов YAML. Сам Kwalify написан на Ruby, и нам потребовались небольшие корректировки в формате, поэтому не все детали Kwalify применимы напрямую, но это довольно близко.
Cheatsheet
Для быстрого понимания и некоторых удобных примеров, посмотрите этот шпаргалку, а затем продолжайте читать, если у вас все еще есть вопросы:
O sistema de configuracao do D8 trata-a de forma unificada. Por default o Drupal guarda dados no banco mas podem exportar-se em YAML permitindo gestao via controle de versao. Ha porem casos em que valores precisam sobrescrever-se para fins especificos. No D7 existia a variavel global $conf tipicamente preenchida em settings.php com overrides condicionais; grande defeito era overrides vazarem para a configuracao real - salvando um form com valores sobrepostos o override condicional ia parar no storage.
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:
В Drupal 8 есть несколько типов информации:
- Content
Информация, предназначенная для отображения на вашем сайте и редактирования пользователями: статья, базовая страница, изображения, файлы и т. д.
- Session
Информация о взаимодействиях отдельных пользователей с сайтом, например, их текущий выбор для фильтра представлений просмотров. Это эфемерно и персонализировано для одного пользователя.
A Configuration API fornece lugar central para modulos guardarem dados - podem ser simple configuration como o nome do site ou informacoes mais complexas via config entities como views e tipos de conteudo.
Конфигурация - это место для хранения информации, которую вы хотели бы синхронизировать от разработки до производства. Эта информация часто создается во время создания сайта и обычно не генерируется обычными пользователями во время нормальной работы сайта.
CKEditor API является новым в Drupal 8.
Обратите внимание, что это распространяется только на API модуля CKEditor Drupal 8, а не на API библиотеки CKEditor JavaScript - для этого см. http://docs.ckeditor.com/.
Для получения более подробной информации о том, что делает этот модуль, см. документацию модуля Text Editor.
Особенности API
Упорядочено по наиболее редко используемым API:
CKEditor skins
Проверщики доступа к маршруту, hook_entity_access() и все, что требуется для возврата объекта AccessResultInterface, должны добавить соответствующие метаданные кешируемости.
Если вы еще не читали, прочитайте cache tags, cache contexts и max-age.