2012-07-19 101 views

回答

0

结束了比我想简单:

$form['form[selectionMenu]']->select(1); 
1

要设置表单的默认值,这些值需要在表单的基础数据类中设置。假定基础数据类是一个实体,则可以在构造该实体时默认值。如果您不使用实体注释并且不想更改生成的实体类,则可以将默认值设置为实体类的新实例,并将其用作表单的数据。

例如,对于具有的作用和方法setRoles(数组$角色)的角色可以在这样的用户实体的构造被默认的阵列(用于清楚起见硬编码字符串)一个用户实体:

public function __construct() 
{ 
    $this->setRoles(array('ROLE_USER', 'ROLE_READER', 'ROLE_EDITOR'); 
} 

或者,角色可以在刚好之前显示的形式是这样的(简单的例子,没有表单类和硬编码的字符串)控制器被默认:

$allRoles = array('ROLE_USER', 'ROLE_READER', 'ROLE_EDITOR', 'ROLE_ADMIN', 'ROLE_SUPER_ADMIN'); 

$user = new User(); 
$user->setRoles(array('ROLE_USER', 'ROLE_READER', 'ROLE_EDITOR'); 

$form = $this->createFormBuilder($user) 
    ->add('username', 'text') 
    ->add('roles', 'choice', array('choices' => array_combine($allRoles, $allRoles), 
            'multiple' => true) 
    ->getForm(); 

return $this->render('AcmeTaskBundle:Default:new.html.twig', array(
    'form' => $form->createView(), 
));