2017-05-11 30 views
1

symfonyフォームビルダーを使用してフォームにクラス属性を追加したいと考えています。symfonyフォームにクラス属性を追加する方法

入力とラベルでこれを行う方法を見つけましたが、フォームタグではありません。

$builder->add('label', TextType::class, 
      [ 
       'attr' => ['class' => 'a'], // for input 
       'label_attr' => ['class' => 'b'], // for label 
      ] 
     ); 

しかし、レンダリング以下の通りです:

<form method="POST"> 
     <label for="label" class="b">Label</label> 
     <input type="text" class="a" name="label"> 
     <button type="submit">Create</button> 
</form> 

と私はちょうど

<form method="POST" class="c"> 

は、私は次のことを試してみましたしたい:

$builder->->setAttribute('class', 'c'); 

しかし、それは変更されませんでした何でも

答えて

0

ビルダー、コントローラ、またはビューのいずれかで行います。

コントローラー:

$form = $this->createForm(new FormType(), $data, array('attr' => array('class' => 'class'))); 

ビュー(小枝):

{{ form_start(form, { 'attr' : { 'class': 'class' } }) 

ジョーが指摘したようにsource here

+1

考え源:http://stackoverflow.com/questions/23292073/symfony2-フォームにタグを追加する – Joe

+0

この解決方法は機能しています。 –

+0

私はまだ$ builder - > - > setAttribute( 'class'、 'c')とは何か不思議です。のためですか? –

関連する問題