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 コメント:
コメントを投稿