繁体   English   中英

在通过模板时,symfony表单标签属性“ for”不会根据form_widget“ id”的更改而更改

[英]symfony form label attribute 'for' not changing according to form_widget 'id' change while passing through template

我在模板中渲染包含symfony中表单字段的表单,正在像这样{{- form_label(form.category,'Categoryname',{ 'label_attr' : {'class': 'control-label','for':'Cname'}}) -}} {{- form_widget(form.category,{ 'attr': {'class': 'form-control col-md-10','max-length':55},'label': 'Category name','required':true,'id':'Cname' }) -}}

但是表单字段的“ id”更改为“ Cname”,但标签中的for属性未更改,显示了symfony的默认设置我如何更改表单字段的“ id”和相应标签的“ for”属性?

您可以自定义form_label 有关详细信息,请参见进行应用程序范围的定制 原始表单模板存储在https://github.com/symfony/symfony/blob/2.7/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig中 例如,您可以更改块form_label的部分

{% if not compound -%}
    {% set label_attr = label_attr|merge({'for': id}) %}
{%- endif -%}

{% if not compound -%}
    {% set label_attr = {'for': id}|merge(label_attr) %}
{%- endif -%}

现在自定义参数 label_attr将覆盖默认控件ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM