Drupal config API позволяет не только прочитать сами настройки, но и файлы их определений. В общем то это очевидно, покажу как это делается.
Допустим у нас есть файл с настройками (возьмем из пример из ядра друпал) /core/modules/comment/config/schema/comment.schema.yml
|
|
# Schema for the configuration files of the Comment module. comment.settings: type: config_object label: 'Comment settings' constraints: FullyValidatable: ~ mapping: log_ip_addresses: type: boolean label: 'Whether to log IP addresses with comments or not.' ... |
Значения конфигурации читаются следующим образом:
|
|
$config = \Drupal::config('comment.settings'); $log_ip_addresses = $config->get('log_ip_addresses'); |
В то время как описание из схемы извлекается, используя другой сервис друпала:
|
|
$schema = \Drupal::service('config.typed') ->getDefinition('comment.settings'); |
Переменная $schema будет представлять из себя структурированный массив, описывающий схему, которая была задана в yml файле.
Так можно извлечь все метаданные, вроде type, label и т.п.
Drupal 10/11
Данная запись опубликована в 06.04.2025 13:49 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 15, 2025 г.
Иногда возникает задача: в Twig-шаблоне параграфа (paragraph.html.twig) нужно отобразить заголовок материала (ноды), к которому этот параграф прикреплён.
Нам не нужно передавать что то дополнительно в шаблон, эти данные могут быть получены из самой ...
Читать
Август 8, 2025 г.
В Drupal 10/11 при работе с шаблонами Twig часто требуется вывести дату в нужном формате — будь то текущая дата, дата из поля сущности или timestamp. Для этого можно использовать стандартный Twig-фильтр date, а также функцию format_date().
В этой статье ...
Читать
Май 7, 2025 г.
Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...
Читать
Ноябрь 14, 2025 г.
В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах.
...
Читать