我正在使用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}
答案 0 :(得分: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()
;
}