Formのwidgetには、choice, time, number ..... のように、いくつか用意されています。 詳しくは コチラ (symfony日本語ドキュメント) で, templateで出力する際は
{{ form_widget(form.fieldname) }}
みたいにやります。
そうすると、
みたいな感じで表示されます。
ですが、
みたく、縦並びにしたいとかって、レイアウトをwidgetごとに変更したいときってありますよね。
そんなときは、
{% form_theme form _self %}
{% block _[formtype名]_[フィールド名]_widget %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
<div> {# 追加!!!!!! #}
{{ form_widget(child) }}
{{ form_label(child) }}
</div> {# 追加!!!!!! #}
{% endfor %}
</div>
{% endspaceless %}
{% endblock _recallItem_is_new_widget %}
みたいな感じで、テンプレートをカスタマイズできます。
これは、テンプレートのデフォルトのテーマをカスタマイズって形をとっていて、その元となるテンプレートは
vendor/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
にありますので、これを見ながらカスタマイズすればOK.



0 コメント:
コメントを投稿