Добавляем свой фильтр в 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»):

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

Вытаскиваем токен URL картинки из медиа entity

Июль 12, 2024 г.

Медиа entity удобна для использования, но если это единственное поле изображения в статье, то как вытащить URL картинки, например чтобы заполнить шаблоны metatag? К примеру, в вашей статье есть медиа поле - field_image, и настройки разрешают подключать ...

Читать

Чем заменить file_create_url в Drupal 9/10

Январь 9, 2024 г.

Функция file_create_url устаревает, начиная с версии 9.3, а в 10й версии она уже отсутствует. Документация предлагает воспользоваться реализацией интерфейса \Drupal\Core\File\FileUrlGeneratorInterface, чтобы заместить устаревающую функцию в вашем ...

Читать

Используем токены для доступа к полям параграфов в Drupal

Май 2, 2024 г.

Пара примеров о том, как вытащить нужную инфу из параграфов, используя токены. Обычно это нужно для генерации meta заголовков страницы. У вас есть node, в которой вы создали поле field_myfield с entity_reference: paragrpahs. Самое простое, ...

Читать

Переадресация на основной домен в Drupal

Июль 17, 2023 г.

Данный подход скорее полезен как демонстрация инструментария, чем действительно реализация редиректа на основной домен. Потому что лучше это делать средствами сервера, а не ПО, чтобы уменьшить нагрузку на сервер. Drupal 8 работает на базе симфонии, ...

Читать
 

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

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



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