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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 21, 2025 г.
По умолчанию Drupal генерирует маршруты для каждого термина таксономии. Это означает, что у каждого термина появляется своя страница с URL вида /taxonomy/term/123. В некоторых случаях такие страницы могут быть полезны, например, если вы используете термины ...
Читать
Март 11, 2025 г.
В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.
Ранее я рассказывал как зарегистрировать oembed для rutube, чтобы иметь возможность оперировать видео контентом ...
Читать
Сентябрь 20, 2025 г.
При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов.
Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), ...
Читать
Май 7, 2025 г.
Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...
Читать