Мне нравится менять положение переключателя с вертикального на горизонтальное.Я знал, что должен добавить 'form-check-inline'
в существующий код <class = "form-check">
, чтобы это произошло.
Вот условия:
- Я использовал bootstrap_4_layout.html.twig в качестве базовой темы.
Мой тип формы:
->add('roles', ChoiceType::class, array(
'choices' => array(
'ADMIN' => 'ROLE_ADMIN',
'TEACHER' => 'ROLE_TEACHER',
),
'expanded' =>true,
'multiple' =>false
))
->get('roles')
->addModelTransformer(new CallbackTransformer(
function ($tagsAsArray) {
// transform the array to a string
return implode(', ', $tagsAsArray);
},
function ($tagsAsString) {
// transform the string back to an array
return explode(', ', $tagsAsString);
}
))
Я уже изучил form_div_layout.html.twig но я не знал, какой блок выбрать или как его настроить / переопределить:
- {% - block radio_widget -%}
- {% - block widget_attributes -%}
- {% атрибутов блока -%}
Я могу расположить его, используя 'attr'
в ветке, но он создаст новый <class>
вместо переопределения:
{{ form_widget(form.roles, { 'attr': { 'class': 'form-check form-check inline'}}) }}
В результате:
<div id="task_type_transformer_roles" class="form-check form-check-inline">
<div class="form-check">
<input type="radio" id="task_type_transformer_roles_0" name="task_type_transformer[roles]" required="required" class="form-check-input" value="ROLE_ADMIN" />
<label class="form-check-label required" for="task_type_transformer_roles_0">ADMIN</label>
</div>
Заранее спасибо.