2013-07-09 107 views
1

启用管理员用户什么我需要做的是非常简单的:奏鸣曲 - 默认

为启用复选框在用户管理编辑表单默认情况下,在用户创建时检查。

我已经扩展了SonataUserAdminBundle并做了一些成功的修改。

我试着启用它在扩展用户实体

class User extends AbstractedUser implements UserInterface 
{ 
    #... 
    protected $enabled = true; 
    #... 
} 

但是没有什么变化。

如何在创建时默认启用用户?


此外,我试图从用户管理类

class UserAdmin extends BaseUserAdmin 
{ 
    #... 
    protected function configureFormFields(FormMapper $formMapper) 
    { 
     #... 
     $formMapper->with('Security') 
      ->add('enabled', null 
       , array('required' => false, 'checked' => 'yes')) 
      ->end(); 
    } 
    #... 
} 

检查,但不是一个好主意,因为它会经常来检查。

+1

使用构造函数来设置默认值。来源:http://stackoverflow.com/questions/14315685/default-value-for-entity-backed-date-field-in-symfony2-form-b​​uilder – TautrimasPajarskas

+0

酷!这就是我一直在寻找的。谢谢 –

回答

1

您可以在实体的构造函数设置:

class User extends AbstractedUser implements UserInterface 
{ 
    #... 
    protected $enabled; 
    #... 
    public function __construct() 
    { 
     $this->enabled = true; 
    } 
    #... 
} 
1

记得调用父类的构造并设置选项后:

public function __construct() 
{ 
    parent::__construct(); 
    $this->enabled = true; 
}