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

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

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

Транслитерация имени файла при создании медиа entity программно в Drupal

Май 21, 2023 г.

При импорте изображений возникает задача транслитерации. Картинки, например, могут содержать буквы национальной кодировки (кириллицы) и/или иметь несовместимые с файловой системой сервера символы. Drupal (начиная с 8.2) объявляет специальный интерфейс, ...

Читать

Получение и рендеринг списка дочерних терминов в Drupal

Апрель 27, 2023 г.

Небольшой примера кода для работы с таксономией в Drupal 10. Мы запросим дерево дочерних терминов и произведем их рендеринг. Для начала загрузим какой-либо термин [crayon-69d6f5dedae2f353219873/] Следующий шаг - получение дочерних элементов ...

Читать

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

Август 10, 2023 г.

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

Читать

Ошибка: Migration is busy with another operation

Апрель 19, 2024 г.

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

Читать
 

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

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



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