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

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

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

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

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

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

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

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

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

Март 9, 2025 г.

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

Читать

Проброс переменных из PHP в JS (в Drupal) с использованием js_settings_alter

Ноябрь 14, 2025 г.

В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах. ...

Читать

Добавить произвольную ссылку в меню на этапе препросессинга в Drupal

Март 17, 2025 г.

Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода. Потребуются следующие зависимости: [crayon-696004a19f56a553158941/] Добавим ссылку в меню main. ...

Читать

SpecialCharacters плагин в CKE5. Добавляем символы.

Апрель 11, 2025 г.

В CKEditor 5 есть родной плагин, который отображает список спец. символов для вставки в редактор. Он удобен и прост, проблема лишь в том, что он содержит ...

Читать
 

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

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



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