3

我使用 SonataEasyExtendsBundle 扩展了 SonataUserBundle 并删除了一些字段。数据库表已正确创建。问题是尝试在管理界面中添加用户时(使用 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

我的应用程序\奏鸣曲\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 注册我的用户类,并最终取消注册默认类?

4

1 回答 1

3

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

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

新类是在上面发布的服务文件中定义的,它不是自动拾取的。

于 2014-04-13T19:13:43.970 回答