fos_user 配置的两个不同的 user_class
Posted
技术标签:
【中文标题】fos_user 配置的两个不同的 user_class【英文标题】:Two different user_class for fos_user configuration 【发布时间】:2019-06-23 23:31:14 【问题描述】:我有一个基于 Symfony 3.4 和 Sonata Admin 的网站,带有 SonataNews Bundle、SonataUser 包等。一切正常。
现在我的客户想要网上商店,我为 symfony 选择了 aimeos。现在问题出在用户身上。在 fos_user 我有:
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
#user_class: Sonata\UserBundle\Entity\BaseUser
user_class: Application\Sonata\UserBundle\Entity\User
group:
group_class: Application\Sonata\UserBundle\Entity\Group
group_manager: sonata.user.orm.group_manager # If you're using doctrine orm (use sonata.user.mongodb.group_manager for mongodb)
service:
user_manager: sonata.user.orm.user_manager
from_email:
address: "example@example.com"
sender_name: "My website"
但 Aimeos 想要这样的配置:
fos_user:
db_driver: orm
user_class: Aimeos\ShopBundle\Entity\FosUser
firewall_name: aimeos_myaccount
from_email:
address: "me@example.com"
sender_name: "Test shop"
不同的防火墙和用户类。如果我改变这个,那么奏鸣曲管理员就会出现问题,因为一些奏鸣曲捆绑包使用 SonataUserBundle,例如新闻捆绑包。如果没有 user_class:Aimeos\ShopBundle\Entity\FosUser,aimeos 将无法工作。
我的问题是:是否可以(以及如何)告诉 Aimeos 使用 SonataUserBundle?或者以某种方式扩展这些类?
【问题讨论】:
【参考方案1】:扩展 Sonata 用户实体类并添加来自 Aimeos FosUser entity class 的附加属性的代码
【讨论】:
以上是关于fos_user 配置的两个不同的 user_class的主要内容,如果未能解决你的问题,请参考以下文章
服务“fos_user.mailer”依赖于不存在的服务“模板”
Sonata + Fos_user - 如何仅显示与用户相关的实体?
Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”
The path "fos_user.from_email.address" cannot contain an empty value, but got null.