我在Symfony 2.6应用程序中安装了Sonata Admin Bundle和User Bundle。我发现User bundle在src/Application/Sonata/UserBundle
创建了一个包。当我转到管理员用户创建页面(admin/sonata/user/user/create
)时,我发现了很多字段:
管理
安全
我只需要创建管理员用户的用户名,电子邮件,密码,组,名字和姓氏。如何从该页面中删除其他不必要的字段?
答案 0 :(得分:7)
在config.yml
中的sonata用户包的配置下,即sonata_user
,您可以覆盖奏鸣曲用户管理类并定义您自己的管理类
sonata_user
admin: # Admin Classes
user:
class: Application\Sonata\UserBundle\Admin\UserAdmin
#Sonata\UserBundle\Admin\Entity\UserAdmin
controller: ApplicationSonataUserBundle:UserCURD /** you can also override CURD controller for your admin class*/
translation: SonataUserBundle
现在在扩展包中创建用户管理类,即ApplicationSonataUserBundle
,并使用奏鸣曲Sonata\UserBundle\Admin\Model\UserAdmin
扩展您的课程,现在在configureFormFields()
中定义您想要添加的所需字段
use Sonata\UserBundle\Admin\Model\UserAdmin as BaseUserAdmin;
class UserAdmin extends BaseUserAdmin {
protected function configureFormFields( FormMapper $formMapper ) {
$formMapper->add('some field'); ...
/** Do your stuff here */
}
}
或删除部分字段:
use Sonata\UserBundle\Admin\Model\UserAdmin as BaseUserAdmin;
class UserAdmin extends BaseUserAdmin {
protected function configureFormFields( FormMapper $formMapper ) {
parent::configureFormFields($formMapper);
$formMapper->remove('some field');
}
}
有关奏鸣曲用户捆绑包的信息,请参阅ADVANCED CONFIGURATION