Маршруты FosUserBundle не загружают правильный объект пользователя

0

Я успешно использую следующие результаты на моем сайте.

{{ app.user.getId }}

У меня также есть свои собственные функции, потому что я расширил базовый класс Fos User Entity. Поэтому я тоже могу это использовать.

{{ app.user.getMyThing }}

Но при загрузке маршрутов FosUserBundle эти пользовательские функции терпят неудачу. Например, на маршруте "Редактировать профиль" следующее просто возвращает пустую строку

{{ app.user.getMyThing }}

Но на моих собственных маршрутах он работает правильно.

Поэтому, по-моему, FosUserBundle загружает свою собственную Entity, а не мою расширенную Entity.

Как я могу получить свою User Entity из шаблонов, которые я переопределил, например, "Изменить профиль".

  • 0
    Посмотрите на создание расширения ветки . Я использовал это в очень похожих обстоятельствах.
  • 0
    Вы правильно установили user_class? github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/… . app.user должен получать текущего пользователя из токена безопасности, и не должно иметь значения, по какому маршруту вы находитесь.
Показать ещё 1 комментарий
Теги:
twig
fosuserbundle

1 ответ

0

Если вы расширяете FOSUser и хотите что-то переопределить, вы должны создать свой собственный контроллер и свои собственные представления (что, безусловно, расширяет FOSUSer), поэтому на уровне FOSUser (нижний уровень) ваша сущность невидима, потому что FOSUser использует свою собственную модель.

В другой руке каждое мышление будет отлично работать на вашем уровне (ваши собственные маршруты), потому что вы используете свою собственную сущность (которая расширяет FOSUser one). Поэтому, если вы переопределите FOSUser, чтобы указать на свою сущность, вам нужно переопределить пакет дыр, т.е. Этот документ. Как использовать привязку наложения для переопределения частей пакета

  • 0
    Я уже переписал пакет. Место, где я пытаюсь получить доступ к пользователю, находится в шаблоне, который я переопределил.
  • 0
    Что вы получите, если у вас var_dump ($ user) в действии editController !!
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню