Sonata管理员覆盖了用户类

时间:2013-03-30 18:59:49

标签: symfony sonata-admin sonata-user-bundle

我使用SonataEasyExtendsBundle扩展了SonataUserBundle并删除了一些字段。 数据库表已正确创建。问题是尝试在Admin界面中添加用户时(使用SonataAdminBundle)。我得到了:

  

请在phone

中为字段Sonata\UserBundle\Admin\Entity\UserAdmin定义类型

这使我得出结论,Admin Bundle没有拿起我的自定义类,而是使用默认类。

我的config.yml:

sonata_user:
    security_acl:     false
    manager_type:     orm
    class:
        user:         Application\Sonata\UserBundle\Entity\User
        group:        Application\Sonata\UserBundle\Entity\Group

我的应用程序\ Sonata \ UserBundle \ Resources \ services.xml

<service id="sonata.user.admin.user" class="Application\Sonata\UserBundle\Admin\Entity\UserAdmin">
    <tag name="sonata.admin" manager_type="orm" group="%sonata.user.admin.groupname%" label="users" label_catalogue="SonataUserBundle" label_translator_strategy="sonata.admin.label.strategy.underscore" />
    <argument />
    <argument>Application\Sonata\UserBundle\Entity\User</argument>
    <argument>SonataAdminBundle:CRUD</argument>
    <call method="setUserManager">
        <argument type="service" id="fos_user.user_manager" />
    </call>
    <call method="setTranslationDomain">
        <argument>%sonata.user.admin.user.translation_domain%</argument>
    </call>
</service>

问题是我如何向Sonata Admin注册我的用户类,并最终取消注册默认类?

1 个答案:

答案 0 :(得分:3)

我已经通过在/app/config/config.yml文件中添加正确的导入解决了这个问题。

#/app/config/config.yml
imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: '@ApplicationSonataUserBundle/Resources/config/services.xml' }

新类已在上面发布的服务文件中定义,并且未自动获取。