3

我正在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}
4

1 回答 1

5

终于找到问题了!!在 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()
    ;
}
于 2013-02-24T07:16:53.283 回答