我有一个带有两个复选框的小表单和一个我想使用Bootstrap显示的提交按钮。我的每个复选框都有14个选项,标签很短。 我的表格:
$builder
->add('banks', 'entity', array(
'class' => 'AppBundle:Bank',
'property' => 'name',
'multiple' => true,
'expanded' => true,
'required' => false,
'label' => 'Banques',
))
->add('companies', 'entity', array(
'class' => 'AppBundle:Company',
'property' => 'name',
'multiple' => true,
'expanded' => true,
'required' => false,
'label' => 'Sociétés',
))
->add('search','submit', array('label' => 'Filtrer'))
;
我的观点:
{% form_theme form 'bootstrap_3_layout.html.twig' %}
{{ form_start(form) }}
{{ form_row(form.banks) }}
<button type="button" class="btn btn-primary" id="check_banks">Cocher toutes les banques</button>
{{ form_row(form.companies) }}
<button type="button" class="btn btn-primary" id="check_companies">Cocher toutes les sociétés</button>
{{ form_end(form) }}
我应该尝试查找引导程序表单主题文件并对其进行编辑,还是有更直接的解决方案?
答案 0 :(得分:1)
将此代码添加到字段
的选项就足够了 'label_attr' => array(
'class' => 'checkbox-inline'
)
表示复选框
'label_attr' => array(
'class' => 'radio-inline'
)
收音机。结果是:
答案 1 :(得分:0)
检查 bootstrap_3_layout.html.twig 的版本。旧版本有问题,必须按以下方式更改:
{% block checkbox_widget -%} {# INLINE FIXED !!!!!!!!!!!!!!!!!!!! #}
{% set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
{% if 'checkbox-inline' in parent_label_class %}
{{- form_label(form, null, { widget: parent() }) -}}
{% else -%}
<div class="checkbox">
{{- form_label(form, null, { widget: parent() }) -}}
</div>
{%- endif %}
{%- endblock checkbox_widget %}
{% block radio_widget -%} {# INLINE FIXED !!!!!!!!!!!!!!!!!!!! #}
{% set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
{% if 'radio-inline' in parent_label_class %}
{{- form_label(form, null, { widget: parent() }) -}}
{% else -%}
<div class="radio">
{{- form_label(form, null, { widget: parent() }) -}}
</div>
{%- endif %}
{%- endblock radio_widget %}
然后在您的表单中,只需添加
->add('fruits', ChoiceType::class, array(
'required' => true,
'choices' => $this->getFruits(),
'multiple' => true,
'expanded' => true,
'label' => "Fruits ",
'label_attr' => array('class' => 'checkbox-inline')
))