如何从Sonata User Bundle的admin用户创建页面中删除字段? [英] How to remove fields from the admin user create page of Sonata User Bundle?
问题描述
我已经安装了 Sonata Admin Bundle 和
I have installed Sonata Admin Bundle and User Bundle in my Symfony 2.6 application. I found that the User bundle creates a bundle at src/Application/Sonata/UserBundle
. When I go to the admin user creation page (admin/sonata/user/user/create
), I found a lot of fields there:
- 一般
- 用户名
- 电子邮件地址
- 普通密码
- General
- Username
- E-Mail-Address
- Plain password
- 出生日期
- 名字
- 姓氏
- 网站
- 传记
- 性别
- 语言环境
- 时区
- 电话
- Facebook Uid
- Facebook名称
- Twitter Uid
- Twitter名称
- Google+ Uid
- Google+名称
管理
- 角色
- 已锁定
- 已过期
- 已启用
- 证书过期
安全性
- 令牌
- 两步验证码
我只需要用户名,电子邮件,密码,组,名字和姓氏即可创建我的管理员用户.如何从该页面中删除其他不必要的字段?
I only need Username, E-Mail, Password, Groups, Firstname and Lastname for my admin user creation. How can I remove the other unnecessary fields from that page?
推荐答案
在
config.yml
中的Sonata用户捆绑包的配置下,即sonata_user
,您可以覆盖Sonata用户admin类并定义自己的管理类Under configuration for sonata user bundle in
config.yml
i.esonata_user
you can override sonata user admin class and define your own admin classsonata_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()
中定义要添加的所需字段Now create your user admin class in your extended bundle i.e
ApplicationSonataUserBundle
and extend your class with sonata'sSonata\UserBundle\Admin\Model\UserAdmin
, now inconfigureFormFields()
define your desired fields you want to adduse 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
以获取Sonata用户捆绑包See
ADVANCED CONFIGURATION
for sonata user bundle这篇关于如何从Sonata User Bundle的admin用户创建页面中删除字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!