2012-10-18 5 views
16

が、私はこのような何かしたい:Symfony2のフォームのカスタマイズ

<textarea rows="30" cols="70" class="TextBox" style="height:100px;"> 

が、私はこの試みた私のSymfony2ののaplicationの内側ではなく小枝テンプレート に:「

 $builder->add('history', 'textarea', array('label' => 'Nome' , 'max_length' => 1048576 , 'rows' = 30 , 'cols' = 70)); 

しかし、私が得る「行」としコルズ "はオプションではありません...

小枝で私はこのようなものを望みます:

<label for="history">{{'form_anamnese_history'}}</label> 
{{ form_widget(form.history) }} 

フォーラム・ポストのようなテキストボックスです!

+0

サイジング要素はCSSでうまく処理されます。 – Maerlyn

答えて

47

documentationで説明したように、attr配列を使用します。

$builder->add('history', 'textarea', array(
    'attr' => array('cols' => '5', 'rows' => '5'), 
)); 
3

をあなたはディスプレイが小枝ではなく、フォームでテキストエリアの属性を設定することができます。

{{ form_widget(edit_form.comment, { 'attr': { 
    'style' : 'width:525px', 
    'rows' : '4', 
    'cols' : '30' }}) }} 

前述したように、それは可能であれば、CSSでこれを設定する方が良い方法です。

+1

行の高さに自動的に一致するため、私の経験では行と列を使う方が良いです。 – Adam

+0

symfony 2.8では、twigビューで 'rows'と' cols'を定義していません。 @juanが指摘しているように、フォームビルド中にのみ動作します。 – vbsessa

+0

フォームウィジェットの物理的な寸法は、フォームタイプクラスそのものではなく、特定の小枝テンプレートの問題でなければならないので、これが最善の答えだと言います。 –

関連する問題