Symfony2: Показать кнопку переключения Bootstrap и получить выбранные значения в контроллере

Я хочу реализовать следующее поле в symfony2. У него есть 2 радио-кнопки, и они стилизованы под Switch с использованием некоторого стиля начальной загрузки.

Пример здесь

выше HTML и фрагмент начальной загрузки отображает желаемый результат

<div class="btn-group btn-toggle" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="radio" name="options" value="option1"> On
</label>
<label class="btn btn-default">
<input type="radio" name="options" value="option2" checked=""> Off
</label>
</div>

какие выводы

предварительный просмотр этого

для работы этого примера требуется тег внутри тега.
но рендеринг форм Symfony

<radio>..</radio>
<label></label>

как я могу сделать <radio> тег внутри <label> используя Symfony Form Builder?

В симфонии для флажка мы используем этот код, но он отображает обычную группу радио,

->add('check', 'choice', array(
'choices' => array(
0 => 'On',
1 => 'Off'
),
'expanded'  => true,
'multiple'  => false,
'data' => 1
))

1

Решение

Другие решения

в ProjectType.php

  $builder->add('progress', 'choice', array('label'=>'State of the project',
'expanded' => true,
'multiple' => false,
'choices' => array(
'1'=>'Draft',
'2'=>'Advanced',
'3'=>'Final step',
)));

веточка:

            <div class="form-group">
{{ form_label(form.progress) }}
<div class="col-sm-9 btn-group" data-toggle="buttons">
{% for key,choice in form.progress.vars.choices %}
<label class="btn btn-default {% if choice.value == form.progress.vars.value %}active{% endif %}">
<input type="radio" id="{{ form.progress.vars.id }}_{{ key }}" {% if choice.value == form.progress.vars.value %}checked{% endif %}
autocomplete="off" name="{{ form.progress.vars.full_name }}" value="{{ choice.value }}">
{{ choice.label }}
</label>
{% endfor %}
</div>
</div>
0

По вопросам рекламы [email protected]