Я успешно использую следующие результаты на моем сайте.
{{ app.user.getId }}
У меня также есть свои собственные функции, потому что я расширил базовый класс Fos User Entity. Поэтому я тоже могу это использовать.
{{ app.user.getMyThing }}
Но при загрузке маршрутов FosUserBundle эти пользовательские функции терпят неудачу. Например, на маршруте "Редактировать профиль" следующее просто возвращает пустую строку
{{ app.user.getMyThing }}
Но на моих собственных маршрутах он работает правильно.
Поэтому, по-моему, FosUserBundle загружает свою собственную Entity, а не мою расширенную Entity.
Как я могу получить свою User Entity из шаблонов, которые я переопределил, например, "Изменить профиль".
Если вы расширяете FOSUser и хотите что-то переопределить, вы должны создать свой собственный контроллер и свои собственные представления (что, безусловно, расширяет FOSUSer), поэтому на уровне FOSUser (нижний уровень) ваша сущность невидима, потому что FOSUser использует свою собственную модель.
В другой руке каждое мышление будет отлично работать на вашем уровне (ваши собственные маршруты), потому что вы используете свою собственную сущность (которая расширяет FOSUser one). Поэтому, если вы переопределите FOSUser, чтобы указать на свою сущность, вам нужно переопределить пакет дыр, т.е. Этот документ. Как использовать привязку наложения для переопределения частей пакета
app.user
должен получать текущего пользователя из токена безопасности, и не должно иметь значения, по какому маршруту вы находитесь.