Symfony2更改细枝形式主题中的类名
我想覆盖Symfony2更改细枝形式主题中的类名,symfony,twig,Symfony,Twig,我想覆盖form\u widget\u simple函数 {% block form_widget_simple %} {% spaceless %} {% set type = type|default('text') %} {% if errors|length > 0 %} {{dump(form.vars.attr)}} {% endif %} <input type="{{ type }}" {{ block('widget_
form\u widget\u simple
函数
{% block form_widget_simple %}
{% spaceless %}
{% set type = type|default('text') %}
{% if errors|length > 0 %}
{{dump(form.vars.attr)}}
{% endif %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
{% endspaceless %}
{% endblock form_widget_simple %}
{%block form\u widget\u simple%}
{%spaceless%}
{%set type=type | default('text')%}
{%如果错误|长度>0%}
{{dump(form.vars.attr)}
{%endif%}
{%endspaceless%}
{%endblock form_widget_simple%}
但是我不知道如何在if
语句中设置form.vars.attr['class']
我什么时候设置form.vars.attr['class']='error'代码>我得到错误
值的意外标记“标点符号”。“(“应为语句结尾块”)
如您所见,添加附加属性在小部件属性块中处理。如果你看一看,你会看到一个,所有的属性。我认为一个简单的集合和合并现有的集合是可以做到的。因此,您的表单小部件\u simple
块将如下所示
{% block form_widget_simple %}
{% spaceless %}
{% set type = type|default('text') %}
{% if errors|length > 0 %}
{{dump(form.vars.attr)}}
{% endif %}
{% set attr = attr|merge({'class': (attr.class|default('') ~ ' your-css-class')|trim}) %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
{% endspaceless %}
{% endblock form_widget_simple %}
{%block form\u widget\u simple%}
{%spaceless%}
{%set type=type | default('text')%}
{%如果错误|长度>0%}
{{dump(form.vars.attr)}
{%endif%}
{%set attr=attr | merge({'class':(attr.class | default(“”)~'yourcss class')| trim})%}
{%endspaceless%}
{%endblock form_widget_simple%}
这将保留表单生成器中设置的每个类属性,并将css类添加为附加类。如果未定义类属性,则仅设置css类。如您所见,在窗口小部件属性
块中处理添加其他属性。如果你看一看,你会看到一个,所有的属性。我认为一个简单的集合和合并现有的集合是可以做到的。因此,您的表单小部件\u simple
块将如下所示
{% block form_widget_simple %}
{% spaceless %}
{% set type = type|default('text') %}
{% if errors|length > 0 %}
{{dump(form.vars.attr)}}
{% endif %}
{% set attr = attr|merge({'class': (attr.class|default('') ~ ' your-css-class')|trim}) %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
{% endspaceless %}
{% endblock form_widget_simple %}
{%block form\u widget\u simple%}
{%spaceless%}
{%set type=type | default('text')%}
{%如果错误|长度>0%}
{{dump(form.vars.attr)}
{%endif%}
{%set attr=attr | merge({'class':(attr.class | default(“”)~'yourcss class')| trim})%}
{%endspaceless%}
{%endblock form_widget_simple%}
这将保留表单生成器中设置的每个类属性,并将css类添加为附加类。如果未定义类属性,则仅设置css类。是否要向
元素添加一个fixclass
(对于css类)属性?是的,向现有元素添加另一个class
是否要向
元素添加fixclass
(对于css类)属性?是,将另一个类添加到现有类