我需要做的很简单:
默认情况下,在用户管理编辑表单的用户创建时选中已启用的复选框。
我已经扩展了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();
}
#...
}
但不是一个好主意,因为它总是会被检查。
答案 0 :(得分:1)
您可以在实体的构造函数中设置它:
class User extends AbstractedUser implements UserInterface
{
#...
protected $enabled;
#...
public function __construct()
{
$this->enabled = true;
}
#...
}
答案 1 :(得分:1)
请记住调用父构造函数并在此之后设置您的选项:
public function __construct()
{
parent::__construct();
$this->enabled = true;
}