1

symfony2 の formbuilder でフォームを作成しています。このフォームでは、いくつかのカスタム HTML を配置したいのですが、全体をテンプレート化する必要はありません。使いたいです {{ form_widget(form) }}。フィールド間にカスタム html を配置することは可能ですか?

@EDIT:より明確にするために

$builder
  ->add('description')
  ->add('thisIsMyHTMLField', '<p>Render this HTML</p>') //This is just custom html
  ->add('talentName')
  ->add('keywords')
  ->add('differentiation')
4

2 に答える 2

0

1つの可能な方法(のデフォルト動作を上書きすることからあなたを救う{{ form_widget() }})は、次のようなことをすることです

{% for fields in form %}
 {% if fields.vars.name != '_token' %}
  {% if fields.vars.errors|length %} <div="errors">
  {% else %} <div class="{{ cycle(["even","odds"], loop.index) }}">
  {% endif %}
  {{ form_label(fields) }}
  {{ form_widget(fields) }}
  {{ form_errors(fields) }}
  </div>
 {% endif %}
{% endfor %}
于 2012-11-27T10:06:37.617 に答える
0

フォーム全体をフォーム タイプに抽出したいというあなたの意欲は理解していますが、この場合は特定のレイアウト コントロールを探しています。テンプレートは、レイアウトを行うべき場所です。

テンプレート内で、フォームをパーツに分割するだけです。

書いている間: {{ form_widget(my_form) }} きれいに感じますが、レイアウトを完全に制御することを妨げるものは何もありません:

{{ form_row(my_form.an_item) }}

<div>Custom HTML</div>

{{ form_row(my_form.another_item) }}

于 2018-05-29T22:08:40.320 に答える