Проверить роль пользователя в 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:

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

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

Drupal deployment

Май 18, 2023 г.

Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии). Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности: ...

Читать

Ошибка в Drupal: once is not a function

Май 8, 2023 г.

В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией. Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...

Читать

Добавление своих suggestion в Drupal 9/10

Май 2, 2023 г.

Для добавления suggestions требуется использовать соответствующий группе шаблонов hook. Если название шаблона не известно, то его можно подсмотреть в режиме ...

Читать

Создание кастомных хлебных крошек в Drupal

Май 6, 2023 г.

С 8й версии друпал предлагает механизм переопределения/задания хлебных крошек через реализацию сервиса breadcrumb_builder. Немного теории При создании хлебных крошек, Drupal вызывает объявленные сервисы в порядке их приоритетов, и опрашивает ...

Читать
 

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

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



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