我在我的网站上成功使用以下内容。
{{ app.user.getId }}
我也有自己的功能,因为我扩展了Fos用户实体基类。所以我也可以使用它。
{{ app.user.getMyThing }}
但是当加载FosUserBundle路由时,这些自定义函数会失败。例如,在编辑配置文件路由上,以下只返回空字符串
{{ app.user.getMyThing }}
但在我自己的路线上,它可以正常工作。
因此,我认为FosUserBundle正在加载自己的实体,而不是我的扩展实体。
如何从我覆盖的模板中获取用户实体,例如编辑个人资料视图。
答案 0 :(得分:0)
如果您扩展FOSUser并希望覆盖某些内容,则必须创建自己的Controller和您自己的视图(这肯定会扩展FOSUSer),因此在FOSUser级别(向下级别)中您的实体是不可见的,因为FOSUser正在使用他自己的模型。
在另一方面,每个思考都可以在你的级别(你自己的路由)上正常工作,因为你正在使用你自己的实体(扩展了FOSUser一个)。因此,如果您要覆盖FOSUser指向您的实体,则需要覆盖空洞包,请使用此文档How to Use Bundle Inheritance to Override Parts of a Bundle