Как настроить элемент CollectionType ()? - PullRequest
0 голосов
/ 17 ноября 2011

В этом § документации Symfony2 показана замечательная техника для настройки отдельного поля.Я часто им пользуюсь, но есть один конкретный Type, для которого мне сложно сделать настройку: CollectionType() Настроить саму коллекцию довольно просто, вы можете сделать что-то вроде этого:

{% block _mynamespace_mybundle_mytype_mycollectionfield_row %}
{% if prototype is defined %}
    {% set attr = attr|merge({'data-prototype': form_widget(prototype) }) %}
{% endif %}
{% spaceless %}
    <ul {{ block('widget_container_attributes') }}>
        {% spaceless %}
            {{ form_errors(form) }}
            {% for child in form %}
            <li>
              {{form_widget(child)}}
            </li>
            {% endfor %}
        {% endspaceless %}
        {{ form_rest(form) }}
    </ul>
{% endspaceless %}
{% endblock %}

Но как вы можете настроить каждый элемент коллекции?И как вы можете настроить data-prototype с помощью Twig (data-prototype - это специальный атрибут, используемый для добавления новых элементов с помощью js)?

Я пытался сделать что-то вроде этого (для data-prototype):

{% block _mynamespace_mybundle_mytype_mycollectionfield_$$name$$_row %}
customization ok!
{% endblock %}

Но я получаю ошибки, потому что я не знаю, как избежать $

Что касается предметов, я пробовал много вещей:

{% block _mynamespace_mybundle_mytype_mycollectionfield_item_subfield_row %}
customization ok!
{% endblock %}

{% block _mynamespace_mybundle_mytype_mycollectionfield_element_subfield_row %}
customization ok!
{% endblock %}

Ни одна из них не работает.

1 Ответ

0 голосов
/ 17 ноября 2011

Я задал вопрос в трекере ошибок Symfony, и, похоже, решения нет, но хорошим обходным путем является создание настраиваемого типа для каждого подполя, которое вы хотите настроить.См. этот выпуск

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