Плоские элементы темы формы Symfony

У меня есть очень вложенный объект с типами коллекций и подчиненными формами, которые нужны только для отображения базы данных. Во внешнем интерфейсе я хочу просто вывести все поля в одно и то же дерево html. Но в настоящее время он также добавит мой div к подчиненным формам и типам коллекций. Вот моя тема

{% block form_row %}
<div class="form-item"  {{ block('widget_container_attributes') }}>
    {{- form_label(form) -}}
    {{- form_errors(form) -}}
    {{- form_widget(form) -}}
</div>
{% endblock %}

{%- block form_widget_compound -%}
    {%- if form.parent is empty -%}
        {{ form_errors(form) }}
    {%- endif -%}
    {{- block('form_rows') -}}
    {{- form_rest(form) -}}
{%- endblock form_widget_compound -%}

Пример объекта:

  • имя пользователя
  • Эл. адрес
  • contact (one-to-one)
    • firstname
    • фамилия
    • contactaddresses (one-to-many)
      • address ( many-to-many )
      • улица
      • количество
      • молния

Поскольку у меня есть несколько подобных объектов в моем проекте, и я хочу использовать одну и ту же тему формы для всех. Как я могу определить, является ли это subform или collectionType, чтобы не отображать мой добавленный div в form_row.

Сначала я думал, что составной параметр - это то, что я искал, но compound также верно, когда тип формы является выбором.


person Alexander Schranz    schedule 28.06.2016    source источник


Ответы (1)


Мое текущее решение состояло в том, чтобы установить getBlockPrefix для каждого типа формы с одним и тем же объектом на одно и то же. Не то решение, которым я доволен, но в настоящее время кажется единственным решением.

person Alexander Schranz    schedule 11.07.2016