Sonata Admin 与 FOSuser 的集成
Posted
技术标签:
【中文标题】Sonata Admin 与 FOSuser 的集成【英文标题】:Sonata Admin integration with FOSuser 【发布时间】:2013-02-06 10:46:13 【问题描述】:我在一个项目中使用Symfony 2.1
。我使用FOSUser Bundle
来管理用户并为我的应用程序定制它。现在我想使用SonataAdmin Bundle
进行管理。
它适用于普通实体(我可以做通常的 CRUD 事情),但对于用户,我在仪表板中获得一个用户列表和链接,但是当我关注创建新或单击编辑时,我收到 500 服务器错误提示
"Class does not exist"
我不想使用 SonataUser Bundle
,因为我对我的 userBundle 进行了很多自定义,我不想松开它们..
有什么想法吗?有什么例子吗?感谢您的帮助:)
相关代码:
在 config.yml 中:
services:
sonata.admin.user:
class: Acme\AdminBundle\Admin\UserAdmin
arguments: [null, Acme\GeneralModelBundle\Entity\User, SonataAdminBundle:CRUD]
calls:
- [setUserManager, ["@fos_user.user_manager"]]
tags:
- name: sonata.admin , manager_type: orm, group: Users, label: User
【问题讨论】:
真的没有答案!? o_0 【参考方案1】:终于找到问题了!! 在 Sonata Admin 文档中,它有一个我使用的 UserAdmin 示例,在此示例中,它在 configureFormFields 函数中添加了组,该函数在 FOSUser Bundle 中默认未启用。 所以当我评论那条线时,一切都很顺利!! :))
protected function configureFormFields(FormMapper $formMapper)
$formMapper
->with('General')
->add('username')
->add('email')
->add('plainPassword', 'text')
->end()
/*******************************************************************
->with('Groups')
->add('groups', 'sonata_type_model', array('required' => false))
->end()
******************************************************************/
->with('Management')
->add('roles', 'sonata_security_roles', array( 'multiple' => true))
->add('locked', null, array('required' => false))
->add('expired', null, array('required' => false))
->add('enabled', null, array('required' => false))
->add('credentialsExpired', null, array('required' => false))
->end()
;
【讨论】:
我不知道社区在哪里,但我也完全没有答案:(以上是关于Sonata Admin 与 FOSuser 的集成的主要内容,如果未能解决你的问题,请参考以下文章
sonata AdminBlockServiceInterface 弃用,以明确安装 symfony 2.8 + sonata 3.10
Sonata 管理包:无法删除与 sonata_type_admin 的关系
Sonata Media Bundle 与 Sonata Admin Bundle 3.0(或 2.4)
sonata-project/user-bundle dev-master 与 sonata-project/doctrine-orm-admin-bundle 冲突