【问题标题】:symfony2 boostrap 3 layout keeping a label for checkbox even if label set to falsesymfony2 bootstrap 3 布局为复选框保留标签,即使标签设置为 false
【发布时间】:2014-12-04 18:18:39
【问题描述】:

我正在使用 symfony2 和内置的 twig 默认引导水平布局。

我面临的问题是,当渲染一个带有 'label' => false 的复选框时,表单中仍然有一个控件标签和一个奇怪的填充。

我尝试通过添加以下代码来覆盖模板,但是当标签未设置为 false 时,我得到了两个标签:

{% extends "bootstrap_3_horizontal_layout.html.twig" %}

{% block checkbox_radio_label %}
    {% if required %}
        {% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %}
    {% endif %}
    {% if parent_label_class is defined %}
        {% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ parent_label_class)|trim}) %}
    {% endif %}
    {% if label is empty %}
        {{ widget|raw }}
    {% else %}
        <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>
        {{ widget|raw }}
        {{ label|trans({}, translation_domain) }}
        </label>
    {% endif %}
{% endblock checkbox_radio_label %}

{% block checkbox_widget -%}
    {% set parent_label_class = parent_label_class|default('') %}
    {% if 'checkbox-inline' in parent_label_class %}
        {{ form_label(form, null, { widget: parent() }) }}
    {% else %}
        {% if label is empty %}
            <div align="center" class="fmu_single_label">
                {{ form_label(form, null, { widget: parent() }) }}
            </div>
        {% else %}
            <div class="checkbox">
                {{ form_label(form, null, { widget: parent() }) }}
            </div>
        {% endif %}
    {% endif %}
{%- endblock checkbox_widget %}

知道如何解决这个问题吗?

【问题讨论】:

    标签: css twitter-bootstrap symfony twig templating


    【解决方案1】:

    Arf,找到它

    {% extends "bootstrap_3_horizontal_layout.html.twig" %}
    
    {% block checkbox_radio_label %}
        {% if required %}
            {% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %}
        {% endif %}
        {% if parent_label_class is defined %}
            {% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ parent_label_class)|trim}) %}
        {% endif %}
        {% if label is empty %}
            <div align="center" class="fmu_single_label">
            {{ widget|raw }}
            </div>
        {% else %}
            <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>
            {{ widget|raw }}
            {{ label|trans({}, translation_domain) }}
            </label>
        {% endif %}
    {% endblock checkbox_radio_label %}
    

    和 fmu_single_label 上的自定义 css

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-18
      • 2019-07-18
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多