我想在调用form_widget()
- 函数时用twig向现有类添加类,所以我想合并它们。但是当我使用
{{ form_widget(form.field1), {'attr': {'class': 'foo'}} }}
对于已经由控制器附加了某些类的对象,它不会添加类,但替换它们。根据{{3}}这将
渲染一个小部件,但是向它添加一个“foo”类
但是,如果这些课程真的“被添加”或者被替换了,那么这个表格并不清楚。
似乎我需要有一种方法来访问现有的属性/类,并将它们与我想要添加的属性/类合并在一起。我怎么能做到这一点?
答案 0 :(得分:3)
您可以使用form.field1.vars.attr.class
和str1 ~ str2
之类的内容来合并已经给定的类和新的类。
总结你得到:
{{ form_widget(form.field1), {'attr': {'class': form.field1.vars.attr.class ~ foo'}} }}
这可以解决你的问题。一些背景:
根据documantation form.field1.vars.attr是基于键的数组,带有
class
- 键。 因此,您可以通过这种方式访问所有现有类。