Добавляем свой фильтр в TWIG на Drupal

В TWIG уже много разных встроенных фильтров, Drupal их перечень только расширяет. Но наше счастье было бы не полным, если бы мы не могли добавить свои фильтры.

В Drupal это делается через сервис twig.extension.

Для начала надо сформировать описатель, который подскажет какой класс в нашем модуле будет описывать расширение сервиса. Пусть модуль называется my_module.

Тогда нам нужно создать файл
/modules/custom/my_module/my_module.services.yml:

Он говорит, что наш класс CustomTwig выполняет роль расширения TWIG.

Класс, согласно PSR-4, должен находится в
/modules/custom/my_module/src/CustomTwig.php файле.
Я добавил фильтр с функцией preg_replace:

После сброса кеша, можно будет использовать этот фильтр в шаблонах, например (все буквы «о» меняем на «a»):

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

Ошибка обновления metatag remove_robots_noydir_noodp

Май 24, 2023 г.

Если у вас собран Drupal + Commerce, то, возможно, при обновлении модуля метатегов возникает ошибка. Модуль не находит таблицы мета информации для сущности commerce_product и прерывается с выводом сообщения: [crayon-692f6c1d0c01d373982304/] ...

Читать

Удаление неиспользуемых файлов в Drupal

Октябрь 17, 2024 г.

Особенно полезно, когда вы использовали проект как шаблон для другого сайта и надо почистить данные. Друпал хоть и показывает статистику использования файлов, но удалять файлы не позволяет из реестра /admin/content/files. Напишем небольшой скрипт, ...

Читать

Как полностью удалить поле в Drupal, если оно «зависло» в хранилище полей

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

Иногда в Drupal возникает ситуация: вы удаляете поле с типов сущностей (bundle), но оно не исчезает полностью из системы. UI говорит, что поле «используется», хотя на самом деле ни одна сущность его не использует. В этом случае поле остаётся в конфигурации ...

Читать

Делаем выгрузку xml для яндекс маркет

Сентябрь 23, 2023 г.

Ключевая особенность в том, что данные выгружаются из Drupal Commerce. Первое, что понадобится - это настроить какой то route, а потом мы напишем для него контроллер. Маршрут можно добавить в какой то кастомный модуль, выглядеть он может следующим ...

Читать
 

Комментарии к «Добавляем свой фильтр в TWIG на Drupal»

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



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