Symfony2 - 从小部件块模板访问表单

时间:2014-05-23 14:50:15

标签: symfony twig symfony-2.3

以下是表单的呈现方式。

<fieldset class="properties">
    {% block form_content %}
        {{ form_widget(form) }}
    {% endblock %}
</fieldset>

现在我可以访问此模板中的任何表单字段,例如{{ form.description }},这一切都很好。但是,我在这个表单中有一个收集字段,我们称之为collection,我为此构建了一个自定义字段类型,此自定义类型的块模板是customCollect_widget,直到这一点很好,但是如果我想访问这个小部件模板中的集合对象,我得到一个错误,说明表单对象中不存在字段名称。

这是我的小部件模板:

{% block customCollect_widget %}
    {% spaceless %}
        {% for aa in form.collections %}
        <div>something</div>
        {% endfor %}
    ....
<% endblock %}

正如我所知,问题是form不是传递给上述代码的同一个对象。它有什么解决方法吗?

1 个答案:

答案 0 :(得分:0)

哈,我解决了。在集合类型窗口小部件模板中,form变量引用表单字段类型本身,在本例中为集合类型。因此,要遍历小部件块中的集合,只需执行{% for child in form %}