我使用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注册我的用户类,并最终取消注册默认类?
答案 0 :(得分:3)
我已经通过在/app/config/config.yml文件中添加正确的导入解决了这个问题。
#/app/config/config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: '@ApplicationSonataUserBundle/Resources/config/services.xml' }
新类已在上面发布的服务文件中定义,并且未自动获取。