在Symfony 2中收集主题,对于每个级别的嵌套表单都不同

时间:2014-03-27 22:53:29

标签: php forms symfony theming

我对此的研究发现了Symfony 2表单集合的各种方法,但到目前为止还没有一个允许您区分几个嵌套表单的form_rows,以使它们以不同方式显示。

我有一个3层嵌套表单,由一个顶部Main组成,其中包含Collection中的几个(DB-backed)部分,每个部分包含Collection中的几个(DB-backed)问题。我想使用DIV来控制我的Sections的布局,但我想使用TABLE来控制每组Question的布局。

<div id="main">
    <div id="section1">
        <table>
            <tr>Question 1</tr>
            <tr>Question 2</tr>
        </table>
    </div>
    <div id="section2">
        <table>
            <tr>Question 3</tr>
            <tr>Question 4</tr>
        </table>
    </div>
</div>

我理解,对于单个整个表单,我可以更改form_row函数用于呈现行的模板片段,但在这里我想要至少两种不同类型的行。我不认为你可以使用两种不同的模板片段制作自己的form_row函数,它有两种工作方式。

如何以完全不同的方式渲染一个级别的字段?

1 个答案:

答案 0 :(得分:0)

所以,不要把这个挂起来,我会回答它。

我所问的可能在技术上不可能,也许是通过@ Chausser提出的嵌套检测技术,但它至少是困难/笨拙的。

最后我通过简单地使用Symfony的普通customised Form rendering features来解决问题   - 将每个字段等添加到详细的Twig模板中的正确位置。在询问时我对Symfony 2全新,甚至没有意识到这是可能的!