我正在使用bootstrap形式主题。这是我的fields.html.twig表单模板:
{% block form_row %}
{% spaceless %}
<div class="form-group {% if errors|length > 0 %}has-error{% endif %}">
{{ form_label(form, label|default(null), { 'label_attr': {'class': 'control-label'} }) }}
{{ form_errors(form) }}
{% set class='' %}
{% if attr.class is defined %}
{% set class = attr.class %}
{% endif %}
{{ form_widget(form, { 'attr': {'class': 'form-control ' ~ class} }) }}
</div>
{% endspaceless %}
{% endblock form_row %}
问题是它不尊重复选框。它呈现像普通输入字段的复选框。知道如何基于上述模板为复选框设置模板吗?
答案 0 :(得分:4)
您需要覆盖fields.html.twig
中与复选框相关的广告块。根据您的字段类型(折叠,展开),定义以下块:
{% block choice_widget_collapsed %}
{% spaceless %}
{% endspaceless %}
{% endblock choice_widget_collapsed %}
{% block choice_widget_expanded %}
{% spaceless %}
{% endspaceless %}
{% endblock choice_widget_expanded %}
{# you can even override the way options are rendered #}
{% block choice_widget_options %}
{% spaceless %}
{% endspaceless %}
{% endblock choice_widget_options %}
对于默认实现,您可以从以下位置获取字段模板的基础:
供应商/ symfony的/ symfony的/ SRC / Symfony的/网桥/枝条/资源/视图/窗体/ form_div_layout.html.twig