web-dev-qa-db-ja.com

symfony2-form_start関数はtwigでカスタマイズします

フォームヘルパーform_startform_endは小枝で便利です:

{{ form_start(form) }}
{{ form_end(form) }}

methodactionなどのパラメーターをカスタマイズできます。ただし、classなどの他のパラメーターをカスタマイズするか、form-enctypeを追加する必要があります。

できますか? FormType.phpに設定する必要がありますか?

以来、以下のようにtwig関数にカスタマイズした値を追加しようとしています。

{{ form_start(form, {'class': 'myclass', 'action': 'myaction'}) }}
// fields...
{{ form_end(form, {'render_rest': true}) }}

ただし、この場合、たとえば、classは表示されません。

26
Roberto Rizzi

_form_start_には 次の署名 があるため、

_form_start(view, variables)
_

classは有効な変数名を表していないため。 attr属性を使用して、クラスを_key/value_配列として指定する必要があります。

その後、試してみてください...

_{{ form_start(form, {'class': 'myclass', 'action': 'myaction', 'attr': {'class': 'your_class_name'}}) }}
_

また...

  • _form_start_ヘルパーが__form-enctype_を正しく設定できるように、Typeフィールドが適切に定義されていることを確認する必要があります。

  • form_enctype(formView)ヘルパーはSymfony 2.3から非推奨になりました。

47
Ahmed Siouani