微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Twig – Symfony无线电扩展无法正确呈现

我有一个带有帮助器和表单块的表格树枝模板,我想用它来按照Zurb Foundations预期的方式自动设置表单样式.

它似乎运行良好,但我遇到了扩展选择(单选按钮)的问题,如下所示.

这是生成标记

<div class="large-12 columns">
   <input type="radio" id="user_gender_0" name="user[gender]" required="required" class="" value="male">                <label class="is-required">Male<input type="radio" id="user_gender_1" name="user[gender]" required="required" class="" value="female">                <label class="is-required">Female</label></label>
</div>

由于某种原因,“男性”选项的标签包裹“女性”选项,并在检查元素中更正它没关系.

这是我的树枝模板,我覆盖块:

{#
############# Radio #############
#}

{%- block radio_widget -%}
    <input type="radio" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
{%- endblock radio_widget -%}


{#
############# Labels #############
#}

{%- block form_label -%}
    {% if label is not sameas(false) -%}
        {% if required -%}
            {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' is-required')|trim}) %}
        {%- endif %}
        {% if errors|length > 0 -%}
            {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' error')|trim}) %}
        {% endif %}
        {% if label is empty -%}
            {%- if label_format is not empty -%}
                {% set label = label_format|replace({
                    '%name%': name,'%id%': id,}) %}
            {%- else -%}
                {% set label = name|humanize %}
            {%- endif -%}
        {%- endif -%}
        <label{% for attrname,attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label|trans({},translation_domain) }}
    {%- endif -%}
{%- endblock form_label -%}

{%- block button_label -%}{%- endblock -%}

更新信息,表单类型选项:

->add('gender','choice',[
                'constraints' => new NotBlank(),'choices' => Profile::getGenderTypes(),'expanded' => true,'multiple' => false,'mapped' => false,'attr' => [
                    'data-user-form' => 'gender'
                ]
            ])

任何人都可以建议更好的布局来匹配Foundation 5 Forms.

最亲切的问候
弥敦道

解决方法

在这一行

<label{% for attrname,translation_domain) }}

您没有关闭标签标签.这就是为什么Male标签包装了Female选项.

添加< / label>在末尾.

<label{% for attrname,translation_domain) }}</label>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐