symfony twig:在保留现有类的同时添加一个类

时间:2014-12-17 13:48:35

标签: symfony templates merge twig

在模板中,我使用以下代码将一个类添加到元素:

{% set attr = field.vars.attr|merge({'class':'input-sm'}) %} 
{{ dump(attr) }}
{{ form_widget(field, attr) }}

转储显示带有input-sm类的数组,但控件没有它。 如果我在没有合并的情况下这样做,我的类型中定义的类被覆盖,我不希望这样,我想保持我的类型中定义的两个类并在我的模板中定义。

有人知道如何解决这个问题吗?

编辑: 我纠正了第一个错误。但是我的类型中定义的类被覆盖

{% set attr = field.vars.attr|merge({'class':'input-sm'}) %}
{{ form_widget(field, {'attr' : attr}) }}

1 个答案:

答案 0 :(得分:0)

解决了!

解决方案:

    {% if field.vars.attr['class'] is defined %}
        {% set class = field.vars.attr['class'] ~ ' input-sm' %}
    {% else %}
        {% set class = 'input-sm' %}
    {% endif %}
    {% set attr = field.vars.attr|merge({'class': class }) %}
    {{ form_widget(field, {'attr' : attr}) }}