我正在渲染一个包含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"表单字段和"表示"相应标签的属性?
答案 0 :(得分:-1)
您可以自定义 form_label 。有关详细信息,请参阅Making Application-wide Customization。原始表单模板存储在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 。