是否可以渲染没有id的输入字段? 我想在twig文件中禁用它。
我想要,因为我在Chrome控制台中有一个错误“非唯一ID”。
我使用Symfony's documentation进行了研究,我找到了一些可行的方法:“使用Twig在单个文件中自定义表单输出”
我要替换的块是
{%- block widget_attributes -%}
此块位于form_div_layout.twig.html
中我把它放在my_form.twig.html里面 {%form_theme表单_self%}
{% block form_row %}
{%- block widget_attributes -%}
id="{{ id }}" name="{{ full_name }}"
{%- if disabled %} disabled="disabled"{% endif -%}
{%- if required %} required="required"{% endif -%}
{%- for attrname, attrvalue in attr -%}
{{- " " -}}
{%- if attrname in ['placeholder', 'title'] -%}
{{- attrname }}="{{ translation_domain is same as(false) ? attrvalue : attrvalue|trans({}, translation_domain) }}"
{%- elseif attrvalue is same as(true) -%}
{{- attrname }}="{{ attrname }}"
{%- elseif attrvalue is not same as(false) -%}
{{- attrname }}="{{ attrvalue }}"
{%- endif -%}
{%- endfor -%}
{%- endblock widget_attributes -%}
{% endblock form_row %}
{{ form_start(form) }}
......
我收到错误:
“变量”full_name“不存在。”
我不想编辑form_div_layout.html.twig
答案 0 :(得分:0)
我做到了!
目前,我认为我找到了解决方案
{% form_theme form _self %}
{% block form_row %}
{% block input_widget %}
{% set id = random() %} {# Random number for the id #}
{{ block('form_widget') }}
{% endblock input_widget %}
{% endblock form_row %}
{{ form_row(form.my_form) }}
这不是最终解决方案,因为我想要" id"不要在输入表格中显示。