我正在渲染一个包含多个选择字段的表单。我希望以与其他字段不同的方式呈现一个特定选择字段。
我试图使用:
{% form_theme form 'MyBundle:Form:my-choice-field.html.twig' %}
{{ form_widget(field) }}
但是,这会改变该表单中所有选择字段的外观。如果我将 form_theme 放在我希望以不同方式呈现的字段旁边,它什么都不做。
我曾想过创建一个新的表单类型,但它似乎过度使用,我只想为该特定字段设置不同的样式。有什么想法吗?
答案 0 :(得分:0)
在文档中有一个描述how to personalize an individual field的部分,例如,仅自定义name
实体的product
字段:
{% form_theme form _self %}
{% block _product_name_widget %}
<div class="text_widget">
{{ block('form_widget_simple') }}
</div>
{% endblock %}
{{ form_widget(form.name) }}
此处,_product_name_widget
片段定义了用于ID为product_name
(且名称为product[name]
)的字段的模板。
您还可以使用相同的方法覆盖整个字段行的标记:
{% form_theme form _self %}
{% block _product_name_row %}
<div class="name_row">
{{ form_label(form) }}
{{ form_errors(form) }}
{{ form_widget(form) }}
</div>
{% endblock %}
{{ form_row(form.name) }}