2015-06-07 54 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用於奏鳴曲用戶包

相關問題