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

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

Как получить код языка по умолчанию в Drupal

Июль 4, 2025 г.

В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ: [crayon-6aa7e68804327541016362/] Подробности запроса: \Drupal::languageManager() — обращение ...

Читать

Программное создание статьи с переводом в Drupal

Август 10, 2023 г.

Допустим, вы получаете следующие данные - заголовок, текст статьи, и теги. При этом данные поставляются на двух языках - 'ru' и 'en'. Вам требуется программно сохранить статью и её перевод. Я полагаю, что уже активирован модуль Content Translation, ...

Читать

Редактируем атрибуты ссылки в twig шаблоне

Июль 14, 2023 г.

Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне? Например, возьмем штатный шаблон file-link.html.twig: [crayon-6aa7e68804613436416861/] Используем фильтр merge, добавляя нужные атрибуты: [crayon-6aa7e68804619322699452/]

Читать

Загрузить данные параграфов для связанного с ними entity

Июль 8, 2023 г.

Пример кода для загрузки параграфов. В данном примере будем загружать параграфы, связанные с entity commerce_product_variation (это сущность модуля Commerce). Я привязал информацию по остаткам складов к вариациям в виде параграфов (тип - stocks). ...

Читать
 

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

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



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