2012-07-19 88 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(), 
)); 
相關問題