Проверить роль пользователя в twig

Многие стандартные шаблоны в Drupal содержат вывод переменной пользователя (user), что делает возможным реализацию различной логики, в том числе и проверку роли пользователя.

Например, вы желаете показывать какой-то элемент шаблона, только для пользователя с специфической ролью:

Если переменная user не передана в шаблон, то можно добавить её через соответствующий препроцессор шаблона, или добавить функцию вроде is_role(‘USER_ROLE’) в TWIG.

В Drupal кастомные функции в TWIG можно добавить через описание своего сервиса типа  twig.extension.

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

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

Он говорит, что наш класс CustomTwig выполняет роль расширения TWIG. Понятно, что у модуля должен быть еще и обязательно файл-описатель самого модуля — my_module.info.yml.

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

После сброса кешей, функцию можно будет использовать в шаблонах:

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

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

Июль 12, 2024 г.

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

Читать

Реализация блока с внедрением формы

Май 11, 2023 г.

См. основной материал для введения. В имплементации блока требуется сформировать набор переменных и передать его в шаблон. Шаблон был ранее объявлен в основном файле модуля, исходя из макета. [crayon-6ad1e3beeab39424589145/] В макете присутствуют ...

Читать

Реализация контроллера для списка autocomplete формы

Май 11, 2023 г.

См. основной материал для введения. Контроллер должен вернуть Json набор пар значений value - label. Ранее в модуле мы уже объявили связь для маршрутизации с нашим контроллером в файле custom_blocks.routing.yml. Теперь реализуем код. /src/Controller/ProductSearchAutoCompleteController.php ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

Комментарии к «Проверить роль пользователя в twig»

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



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