2012-07-09 24 views
0

我有在那裏我定義一些輸入窗體類的東西liek這樣的:如何使用Symfony2更改現有表單中的輸入類型?

class User extends AbstractType 
{ 

    public function buildForm(FormBuilder $builder, array $options) 
    { 
     $builder->add('mail', 'text', array('label' => 'Mail')) 
       ->add('password', 'text', array('label' => 'Hasło')) 
       ->add('description', 'textarea', array('label' => 'Opis')); 
    } 
} 

我想更改郵件和密碼輸入類型爲只讀,並設置他們一些值。 現在,我使用的形成是這樣的:

$form = $this->createForm(new User($this->get('database_connection'))); 

我試過很多東西,但Symfony2中有那麼多的表格類和我已經失去。 我想簡單地添加一些屬性到現有的添加輸入。 我不使用Doctrine2 ORM,如果它確實重要,我使用Doctrine DBAL。

在此先感謝。

+0

你不應該反正顯示密碼並將其存儲在數據庫中的加密設置默認值與「數據」參數和只讀。 – fdomig 2012-07-09 08:47:50

+0

@fdomig這是管理面板腳本,其在其他網站登錄,所以我必須存儲它unhashed,這裏的加密是矯枉過正;) – pamil 2012-07-09 09:00:04

回答

4

您可以用參數attr

$builder 
    ->add('mail', 'text', array('label' => 'Mail', 'data' => 'Default value' 
      attr => array('readonly=>'readonly'))); 
相關問題