2015-06-07 50 views
0

我已经在我的Symfony 2.6应用程序中安装了Sonata Admin BundleUser Bundle。我发现用户包在src/Application/Sonata/UserBundle上创建了一个包。当我去到admin用户创建页面(admin/sonata/user/user/create),我发现很多领域有:如何从管理员用户创建Sonata User Bundle页面中删除字段?

  • 一般
    • 用户名
    • E-mail地址将
    • 平原密码
  • 团体号码
  • 配置文件
    • 出生日期
    • 网站
    • 性别
    • 地点
    • 时区
    • 电话
  • 社会
    • 的Facebook的Uid
    • Facebook的名称
    • 的Twitter的Uid
    • Twitter的名称
    • Google+上的Uid
    • Google+姓名
  • 管理

    • 角色
    • 锁定
    • 过期
    • 启用
    • Credentails过期
  • 安全

    • 令牌
    • 两步验证码

我只需要我的管理员用户创建的用户名,电子邮件,密码,组,名和姓。我如何从该页面中删除其他不必要的字段?

回答

6

配置中的奏鸣曲用户包config.yml i。Ë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 

现在,在您的扩展束创建用户管理类,即ApplicationSonataUserBundleconfigureFormFields()扩展与索纳塔的Sonata\UserBundle\Admin\Model\UserAdmin类,现在定义所需的字段,你要添加

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用于奏鸣曲用户包

相关问题