Вложенная коллекция Symfony 3 на Twig - PullRequest
0 голосов
/ 27 июня 2018

как я могу шаблонизировать вложенную коллекцию?.

Я создаю родительскую коллекцию шаблонов с блоком:

{% block _group_match_groupMatchType_entry_row %}

В этом блоке у меня есть коллекция:

<div class="js-collection-parrent round text-right" data-prototype="{{ form_row(form.matchResult.vars.prototype)|e('html_attr') }}">

Как получить каждую строку записи коллекции matchResult, в которой есть родительская коллекция groupMatchType?

GroupMatchType

$builder
        ->add('groupMatchType', CollectionType::class, [
            'entry_type' => MatchType::class,
            'allow_add'     => true,
            'allow_delete'  => true,
            'by_reference'  => false
        ])

MatchType

$builder
        ->add('matchResult', CollectionType::class, [
            'entry_type' => MatchResultType::class,
            'allow_add'     => true,
            'allow_delete'  => true,
            'by_reference'  => false
        ])

И просмотр

{% block _group_match_groupMatchType_entry_row %}
   <div class="js-collection-parrent round text-right" data-prototype="{{ form_row(form.matchResult.vars.prototype)|e('html_attr') }}"></div>
{% endblock %}

Мне нужно найти имя вышеупомянутого блока (например, _group_match_groupMatchType_entry_row_matchResult_entry_row)

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Хорошо, я решил это. Блок должен быть назван

_group_match_groupMatchType_entry_matchResult_entry_row
0 голосов
/ 27 июня 2018

Получить все подэлементы в форме на веточке очень просто:

{% for element in form.elements %}
    {# Do something with this element #}
    {# But think that it will represent the form element #}
{% endfor %}

реальный пример:

{% for movie in form.movies %}
    {{ form_widget(movie.title, {'attr' : {'class':'form-control'}}) }}
    {{ form_row(movie.id) }}
{% endfor %}

Не знаю, действительно ли это то, что вам нужно, но я считаю, что это подход к тому, что вы имеете в виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...