我正在尝试自定义Symfony表单中表单元素的标记,但是我很难单独针对此元素。我读过SF烹饪书中的这一部分,但是我很难把它应用到我的情况中。
我已经扩展的form_row
块做了我想做的事情,但是这适用于该模板中调用的所有form_row
-我如何将其应用于sizes
(这是一个数组)仅?
view.html.twig:
{% form_theme form 'CRMPiccoProductBundle:CourseGuideRow:fields.html.twig' %}
{{ form_row(form.name) }}
{% for size in form.sizes %}
{{ form_row(size) }}
{% endfor %}
fields.html.twig:
{% block form_row %}
<td style="width: 75px; border-right: 2px solid #000000;">
{{ form_widget(form) }}
</td>
{% endblock %}
我的表单叫做crmpicco_course_guide_row
:
/**
* @return string name
*/
public function getName()
{
return 'crmpicco_course_guide_row';
}
结果是这样的标记:
<td style="width: 75px; border-right: 2px solid #000000;">
<input type="text" class=" form-control"
required="required" name="crmpicco_course_guide_row[sizes][0]"
id="crmpicco_course_guide_row_sizes_0">
</td>
我认为你只需要将你的表单主题应用于"sizes"子表单。
{% form_theme form.sizes 'CRMPiccoProductBundle:CourseGuideRow:fields.html.twig' %}