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. В некоторых случаях такие страницы могут быть полезны, например, если вы используете термины ...
Читать
Ноябрь 14, 2025 г.
В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах.
...
Читать
Август 3, 2025 г.
В некоторых случаях удобно не только встроить View через UI или блок, но и программно срендерить представление (View) и получить HTML — например, для отправки во внешнюю систему, в e-mail, или вывода в нестандартном месте.
В этой статье покажем, как ...
Читать
Май 7, 2025 г.
Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...
Читать