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 Admin+ACL-不同角色的不同仪表板

sonata AdminBlockServiceInterface 弃用,以明确安装 symfony 2.8 + sonata 3.10

奏鸣曲 Sontauser 和 fosuser

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 冲突