Forms 根据项重写表单呈现模板
例如Forms 根据项重写表单呈现模板,forms,symfony,Forms,Symfony,例如 我在formobject中有两个成员 form_小部件(form.icon) form_小部件(form.name) 我已更改“选择\u小部件\u扩展” {% block choice_widget_expanded %} {% spaceless %} <table {{ block('widget_container_attributes') }}> {% for child in form %} <tr> {{ fo
我在formobject中有两个成员 form_小部件(form.icon) form_小部件(form.name) 我已更改“选择\u小部件\u扩展”
{% block choice_widget_expanded %}
{% spaceless %}
<table {{ block('widget_container_attributes') }}>
{% for child in form %}
<tr>
{{ form_widget(child) }}
{{ form_label(child) }}
</tr>
{% endfor %}
</table>
{% endspaceless %}
{% endblock choice_widget_expanded %}
{%block choice\u widget\u expanded%}
{%spaceless%}
{表格%中的子项为%1}
{{form_widget(child)}
{{form_label(child)}
{%endfor%}
{%endspaceless%}
{%endblock choice_widget_expanded%}
但是,我想让它只影响{{form.icon}}
可能吗?如何判断传递到此块的对象是form.icon还是form.name?若要覆盖
选项\u widget\u expanded
的标签块,您可以定义块并使用它,如下所示
{% block choice_widget_expanded %}
{% spaceless %}
<table {{ block('widget_container_attributes') }}>
{% for child in form %}
<tr>
{{ form_widget(child) }}
{{ form_label_custom(child) }}
</tr>
{% endfor %}
</table>
{% endspaceless %}
{% endblock choice_widget_expanded %}
甚至可以定义自定义form\u widget\u custom(child)
块来覆盖
{% block form_widget_custom %}
{% spaceless %}
{% if compound %}
{{ block('form_widget_compound') }}
{% else %}
{{ block('form_widget_simple') }}
{% endif %}
{% endspaceless %}
{% endblock form_widget_custom %}
现在渲染你的场
{{ form_widget_custom(form.icon) }}
{{ form_widget_custom(form.icon) }}