Два разных user_class для конфигурации fos_user

У меня есть веб-сайт на основе Symfony 3.4 и Sonata Admin с пакетом SonataNews Bundle, пакетом SonataUser и т. д. Все работает нормально.

Теперь мой клиент хочет интернет-магазин, и я выбираю aimeos для symfony. Теперь проблема с пользователями. В 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: "[email protected]"
        sender_name: "My website"

но Aimeos хочет такую ​​конфигурацию:

fos_user:
    db_driver: orm
    user_class: Aimeos\ShopBundle\Entity\FosUser
    firewall_name: aimeos_myaccount
    from_email:
        address: "[email protected]"
        sender_name: "Test shop"

другой брандмауэр и user_class. Если я изменю это, то возникнут проблемы с администрированием сонаты, потому что некоторые пакеты сонаты используют SonataUserBundle, например, пакет новостей. Без user_class: Aimeos\ShopBundle\Entity\FosUser aimeos не работает.

Мой вопрос: возможно ли (и как) сказать Aimeos использовать SonataUserBundle? Или как-то расширить эти классы?


person repincln    schedule 30.01.2019    source источник


Ответы (1)


Расширьте класс пользовательских сущностей Sonata и добавьте код для дополнительных свойств из класс сущности Aimeos FosUser

person Toco    schedule 01.02.2019