Как получить определения из конфигурационных файлов схем Drupal

Drupal config API позволяет не только прочитать сами настройки, но и файлы их определений. В общем то это очевидно, покажу как это делается.

Допустим у нас есть файл с настройками (возьмем из пример из ядра друпал) /core/modules/comment/config/schema/comment.schema.yml

Значения конфигурации читаются следующим образом:

В то время как описание из схемы извлекается, используя другой сервис друпала:

Переменная $schema будет представлять из себя структурированный массив, описывающий схему, которая была задана в yml файле.

Так можно извлечь все метаданные, вроде type, label и т.п.

Мало букафф? Читайте есчо !

Drupal: как получить список target_id из ссылочного поля без перебора массива

Сентябрь 20, 2025 г.

При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов. Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), ...

Читать

Рендер произвольного блока в Drupal 11

Март 13, 2025 г.

Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно. Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем ...

Читать

Добавляем в page cache зависимость от значения cookie

Март 4, 2025 г.

Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...

Читать

Кастомные настройки сайта в Drupal

Март 9, 2025 г.

На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п. С точки зрения данных - требуется объект в терминах шаблонов проектирования - синглтон. ...

Читать
 

Комментарии к «Как получить определения из конфигурационных файлов схем Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: