Как добавить обертку вокруг нескольких флажков в форме Symfony 4 - PullRequest
0 голосов
/ 15 мая 2019

У меня есть список флажков, созданный в форме со следующим

->add('ISPreNbStudents', ChoiceType::class, [
            'multiple' => false,
            'choices'  => [
                '1' => 1,
                '2' => 2,
                '3' => 3,
                '4' => 4,
                '5' => 5,
            ],
            'expanded' => true
        ])

Затем я могу отобразить это в файле ветки с таким текстом: {{ form_widget(form.ISOptMonths) }}

Проблема в том, что теперь он отображает список меток и ввод, как это

<input type="radio" id="availability_ISPreNbStudents_0" name="availability[ISPreNbStudents]" value="1">
<label for="availability_ISPreNbStudents_0">1</label> 
<input type="radio" id="availability_ISPreNbStudents_1" name="availability[ISPreNbStudents]" value="2">
<label for="availability_ISPreNbStudents_1">2</label>

Мне нужно поместить обертку вокруг каждой метки / ввода, как это

<div class="styled-input-single">
    <input type="checkbox" name="case-1" id="1" />
    <label for="1">1</label>
</div>
<div class="styled-input-single">
    <input type="checkbox" name="case-2" id="2" />
    <label for="2">2</label>
</div>

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Я наконец нашел решение:

Вот как вы распечатываете свой список:

{{ form_row(registrationForm.firstRecourse) }}

Теперь вы хотите добавить обертку вокруг каждой опции:

<div class="row">
    {{ form_label(registrationForm.ISPreNbStudents) }}
    {% for checkbox in registrationForm.ISPreNbStudents.children %}
        <div class="styled-input-single">
            {{ form_widget(checkbox) }}
            {{ form_label(checkbox) }}
            {{ form_errors(checkbox) }}
        </div>
    {% endfor %}
</div>
0 голосов
/ 15 мая 2019

Вы должны использовать Symfony Customize Rendering Form .

Таким образом, вы можете получить доступ к полю формы по полю, например:

{{ form_start(form) }}
    <div class="my-custom-class-for-errors">
        {{ form_errors(form) }}
    </div>

    <div class="row">
        <div class="col">
            {{ form_row(form.task) }}
        </div>
        <div class="col" id="some-custom-id">
            {{ form_row(form.dueDate) }}
        </div>
    </div>
{{ form_end(form) }}

Вы можететакже визуализируйте поля вручную:

<div class="styled-input-single">
{{ form_widget(form.name_of_form_element) }}
{{ form_label(form.name_of_form_element) }}
<!-- and for errors of this field -->
{{ form_errors(form.name_of_form_element) }}
</div>

Для визуализации поля выбора или параметра вручную проверьте эту ссылку:
https://symfonycasts.com

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