form_widget:向现有类添加类

时间:2016-03-24 14:05:19

标签: forms symfony twig

我想在调用form_widget() - 函数时用twig向现有类添加类,所以我想合并它们。但是当我使用

{{ form_widget(form.field1), {'attr': {'class': 'foo'}} }}

对于已经由控制器附加了某些类的对象,它不会添加类,但替换它们。根据{{​​3}}这将

  

渲染一个小部件,但是向它添加一个“foo”类

但是,如果这些课程真的“被添加”或者被替换了,那么这个表格并不清楚。

似乎我需要有一种方法来访问现有的属性/类,并将它们与我想要添加的属性/类合并在一起。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以使用form.field1.vars.attr.classstr1 ~ str2之类的内容来合并已经给定的类和新的类。

总结你得到:

{{ form_widget(form.field1), {'attr': {'class': form.field1.vars.attr.class ~ foo'}} }}

这可以解决你的问题。一些背景:

  

根据documantation form.field1.vars.attr是基于键的数组,带有class - 键。   因此,您可以通过这种方式访问​​所有现有类。