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