Symfony2 formbuilder HTML字段

时间:2012-11-27 09:37:24

标签: forms symfony customization formbuilder

我正在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')

2 个答案:

答案 0 :(得分:0)

一种可能的方法(可以避免覆盖{{ 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 %}

答案 1 :(得分:0)

我理解您将表单完全提取到表单类型中的驱动程序,但在这种情况下,您正在寻找特定的布局控件。模板是应该进行布局的地方!

在您的模板中,只需将表单拆分为其中的部分。

写作时: {{ form_widget(my_form) }} 感觉干净,绝对没有什么能阻止你完全控制布局:

{{ form_row(my_form.an_item) }}

<div>Custom HTML</div>

{{ form_row(my_form.another_item) }}