Формировать тематический виджет коллекции - PullRequest
6 голосов
/ 18 марта 2012

У меня есть виджет коллекции в моей форме.Отображается как:

Команды 0 поле ввода player11 player2 inputfield

Я бы не хотел показывать слова «команды», а также «0» и «1».У меня есть этот блок в моем шаблоне fields.html.twig, но я не совсем уверен, как его редактировать.

{% block collection_widget %}
{% spaceless %}
    {% if prototype is defined %}
        {% set attr = attr|merge({'data-prototype': form_row(prototype) }) %}
    {% endif %}
    {{ block('form_widget') }}
{% endspaceless %}
{% endblock collection_widget %}

{% block form_label %}
{% spaceless %}
    <div class="hidden">
        {{ block('generic_label') }}
    </div>
{% endspaceless %}
{% endblock form_label %}

Форма ChallengeType:

class ChallengeType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('teams', 'collection', array(
                'type' => new TeamType(),
                'allow_add' => true
            ))
            ->add('place')
            ->add('date');
    }

    public function getName()
    {
        return 'challenge';
    }

    public function getDefaultOptions(array $options)
    {
        return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Challenge');
    }
}

Thx.

1 Ответ

5 голосов
/ 19 марта 2012

Эти ярлыки создаются в блоке form_label.Я обычно заключаю их в div и при необходимости скрываю.

Редактировать:

Есть лучшее решение:).

Изменить collection раздел ChallengeType.php с последующим

->add('teams', 'collection', array(
                'type' => new TeamType(),
                //label for Teams text
                'attr' => array('class' => 'team-collection'),
                //label for each team form type
                'options' => array(
                  'attr' => array('class' => 'team-collection')
                ),
                'allow_add' => true
            ))

Теперь эти нежелательные метки будут иметь класс team-collection.В вашем файле CSS вы можете установить display:none для label.team-collection.Нет необходимости изменять определение блока темы формы.

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