只自定义Symfony表单的数组元素/片段



我正在尝试自定义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' %}

最新更新