Тематизация коллекции в Symfony 2, различная для каждого уровня вложенной формы


В ходе моих исследований по этому вопросу были обнаружены различные способы тематизации коллекций форм Symfony 2, но пока ни один из них не позволяет вам различать строки форм нескольких вложенных форм, чтобы они отображались по-разному.

У меня есть 3-слойная вложенная форма, состоящая из верхней основной, которая содержит несколько разделов (с поддержкой БД) в коллекции, каждый раздел содержит несколько вопросов (с поддержкой БД) в коллекции. Я хочу использовать DIVs для управления расположением моих разделов, но я хочу использовать таблицы для управления компоновкой каждого набора вопросов.

<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, которая работает двумя способами, используя два разных фрагмента шаблона.

Как я могу отобразить один уровень полей совершенно иначе, чем другой?

Author: frumious, 2014-03-28

1 answers

Итак, вместо того, чтобы оставлять это в подвешенном состоянии, я отвечу на него.

То, о чем я спрашивал, возможно, не является технически невозможным, возможно, с помощью предложенного @Chausser метода обнаружения вложенности, но это, по крайней мере, сложно/громоздко.

В конце концов я решил проблему, просто используя обычные настраиваемые функции рендеринга форм Symfony - добавление каждого поля и т.д. в нужное место в подробном шаблоне ветки. Я был совершенно новичком в Symfony 2 на момент запроса, и даже не представлял, что это возможно!

 0
Author: frumious, 2014-09-17 19:21:54