Symfony Form Collection Рендеринг веточек

3

У меня проблема с рендерингом твига для коллекции форм в форме редактирования. Форма загружается без проблем, но поле сбора имеет ярлык, удвоенный и измененный от опции до цифр, который jsfiddle покажет, что я имею в виду.

Шаблон Twig:

{% block body %}
    <div class="row">
        <div class="col-md-12">
            <a href="#" class="add-choice btn btn-default" aria-label="Add Choice">
                <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>
                Adauga Camp
            </a>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h1>Editeaza intrebarea</h1>
                </div>
                <div class="panel-body">
                    {{ form_start(edit_form, {'attr': {'class': 'form-horizontal'} } ) }}
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.question, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.question, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.question) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.surveyId, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.surveyId, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.surveyId) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.fieldType, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.fieldType, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.fieldType) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.categoryId, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.categoryId, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.categoryId) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-md-8">
                                {{ form_widget(edit_form._token, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form._token) }}
                            </div>
                        </div>
                    </div>
                    <div class="multiple-choice-prototype"
                         data-prototype="{{ form_widget(edit_form.answerId.vars.prototype)|e('html_attr') }}">
                        {{ form_widget(edit_form.answerId) }}
                    </div>
                    {{ form_widget(edit_form) }}
                    <div class="row">
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <button type="submit" value="Edit" class="btn btn-default">Salveaza</button>
                            </div>
                        </div>
                    </div>
                    {{ form_end(edit_form) }}
                    <div class="row">
                        <div class="col-md-12">
                            <div class="btn-group">
                                {{ form_start(delete_form) }}
                                <a class="btn btn-default" href="{{ path('surveyquestion_index') }}">Inapoi</a>
                                <input class="btn btn-default" type="submit" value="Sterge">
                                {{ form_end(delete_form) }}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
{% endblock %}

Twig для поля:

{% block _survey_question_answerId_entry_widget %}
    <div class="row multiple-choice-container">
        <div class="form-group">
            {{ form_label(form.value, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
            <div class="col-md-8">
                <div class="input-group">
                    <div class="input-group-addon">
                        <span class="glyphicon glyphicon-record" aria-hidden="true"></span>
                    </div>
                    {{ form_widget(form.value, {'attr': {'class': 'form-control'} } ) }}
                    {{ form_errors(form.value) }}
                </div>
            </div>
            <div class="col-md-2">
                <div class="btn-group">
                    <a href="#" class="add-choice btn btn-default" aria-label="Add Choice">
                        <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>
                    </a>
                    <a href="#" class="remove-choice btn btn-default" aria-label="Remove Choice">
                        <span class="glyphicon glyphicon glyphicon-minus" aria-hidden="true"></span>
                    </a>
                </div>
            </div>
        </div>
    </div>
{% endblock %}
Теги:
forms
twig

3 ответа

2
Лучший ответ
    ->add('answerId', CollectionType::class, [
        'entry_options' => [
          'label' => false,
        ],
        'entry_type' => AnswerType::class,
        'allow_add' => true,
        'allow_delete' => true,
        'label' => false,
        'by_reference' => false,
    ])

Это должно выполнить задание

1

удалить {{ form_label(form.value, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}

  • 0
    да, эта часть работает, но так как моя форма используется совместно с новым действием, если я удалю метку, у меня не будет метки для нового действия, и я не хочу, чтобы моя метка называлась 0, 1, 2, 3
  • 0
    также удаление его не приведет к удалению нумерации. сделал тест прямо сейчас: D
0

Установите метку в false в вашем типе формы

Пример:

$builder->add('yourAttribute', null, array('label' => false));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню