Upv*_*ote 0 symfony-forms symfony
我正在使用引导程序表单主题。这是我的 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 %}
Run Code Online (Sandbox Code Playgroud)
问题是它不尊重复选框。它像普通输入字段一样呈现复选框。知道如何根据上述模板为复选框设置模板吗?
您需要覆盖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 %}
Run Code Online (Sandbox Code Playgroud)
可以从以下位置获取默认实现和字段模板的基础:
vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig