如何从 Sonata User Bundle 的管理员用户创建页面中删除字段?
How to remove fields from the admin user create page of Sonata User Bundle?
我已经在我的 Symfony 2.6 应用程序中安装了 Sonata Admin Bundle and User Bundle。我发现用户包在 src/Application/Sonata/UserBundle
处创建了一个包。当我转到管理用户创建页面(admin/sonata/user/user/create
)时,我发现那里有很多字段:
- 一般
- 用户名
- 电子邮件地址
- 普通密码
- 群组
- 简介
- 出生日期
- 名字
- 姓氏
- 网站
- 简历
- 性别
- 语言环境
- 时区
- Phone
- 社交
- Facebook Uid
- Facebook 名称
- 推特 Uid
- Twitter 名称
- Google+ Uid
- Google+ 姓名
管理
- 角色
- 锁定
- 已过期
- 已启用
- 凭证已过期
安全
- 代币
- 两步验证码
我只需要用户名、电子邮件、密码、组、名字和姓氏来创建我的管理员用户。如何从该页面中删除其他不需要的字段?
在 config.yml
中的 sonata 用户包配置下,即 sonata_user
您可以覆盖 sonata 用户管理员 class 并定义您自己的管理员 class
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
现在在您的扩展包中创建您的用户管理员 class 即 ApplicationSonataUserBundle
并使用奏鸣曲的 Sonata\UserBundle\Admin\Model\UserAdmin
扩展您的 class,现在在 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
索纳塔用户包
我已经在我的 Symfony 2.6 应用程序中安装了 Sonata Admin Bundle and User Bundle。我发现用户包在 src/Application/Sonata/UserBundle
处创建了一个包。当我转到管理用户创建页面(admin/sonata/user/user/create
)时,我发现那里有很多字段:
- 一般
- 用户名
- 电子邮件地址
- 普通密码
- 群组
- 简介
- 出生日期
- 名字
- 姓氏
- 网站
- 简历
- 性别
- 语言环境
- 时区
- Phone
- 社交
- Facebook Uid
- Facebook 名称
- 推特 Uid
- Twitter 名称
- Google+ Uid
- Google+ 姓名
管理
- 角色
- 锁定
- 已过期
- 已启用
- 凭证已过期
安全
- 代币
- 两步验证码
我只需要用户名、电子邮件、密码、组、名字和姓氏来创建我的管理员用户。如何从该页面中删除其他不需要的字段?
在 config.yml
中的 sonata 用户包配置下,即 sonata_user
您可以覆盖 sonata 用户管理员 class 并定义您自己的管理员 class
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
现在在您的扩展包中创建您的用户管理员 class 即 ApplicationSonataUserBundle
并使用奏鸣曲的 Sonata\UserBundle\Admin\Model\UserAdmin
扩展您的 class,现在在 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
索纳塔用户包