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

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

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

Управление размерами autocomplete ui widget в Drupal

Октябрь 25, 2023 г.

Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен. Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...

Читать

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

Май 11, 2023 г.

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

Читать

Запросы с группировкой в Drupal

Август 21, 2023 г.

DB API в drupal позволяет стоить, наверное, почти любые запросы, какие только можно составить на чистом sql. Приведенный ниже сниппет кода демонстрирует ...

Читать

Дополняем результаты views

Февраль 14, 2024 г.

Пример того, как можно дополнить результаты views в Drupal 9/10. Задача - вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, ...

Читать
 

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

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



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