Глобальный доступ к объекту пользователя в шаблонах - PullRequest
2 голосов
/ 22 февраля 2012

До сих пор я видел метод Twig, чтобы узнать пользовательские привилегии

{% if is_granted('ROLE_USER') %}

но ничего о получении аутентифицированной пользовательской информации без передачи объекта в каждом отдельном действии контроллера.

Прежде чем искать, как передать глобальную переменную в мой макет, лучше узнать, есть ли какой-нибудь "стандартный" способ доступа к объектам пользователя моего поставщика безопасности (по крайней мере, имени пользователя и информации базы данных для пользователей сущности) в мой макет или любой другой шаблон, защищенный брандмауэром.

1 Ответ

9 голосов
/ 22 февраля 2012

Попробуйте {{ app.user }}.

Переменная шаблона app предоставляет вам доступ ко многим ожидаемым глобальным переменным, таким как request, session, security и т. Д.За дополнительной информацией обращайтесь к исходному коду .

Одна вещь, о которой вы должны знать, это то, что, хотя класс GlobalVariables предоставляет методы получения всех переменных, Twig достаточно умензнать, как обращаться с короткой формой, чтобы {{ app.user }} эквивалентно {{ app.getUser() }}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...