在调用 form_widget()
时,我想用 Twig 将类添加到现有类中。 -function,所以我想合并它们。但是当我使用
{{ form_widget(form.field1), {'attr': {'class': 'foo'}} }}
在 Controller 已经附加了一些类的对象上,它不会添加类,而是替换它们。根据documantation这个会
render a widget, but add a "foo" class to it
但是表述不清楚,这些类是真的“添加”了还是被替换了。
似乎我需要有一种方法来访问现有的属性/类并将它们与我想要添加的属性/类合并在一起。我怎样才能做到这一点?
最佳答案
您可能会使用 form.field1.vars.attr.class
和类似 str1 ~ str2
合并已经给定的类和你的新类。
把它们放在一起,你会得到:{{ form_widget(form.field1), {'attr': {'class': form.field1.vars.attr.class ~ foo'}} }}
这有效并解决了您的问题。一些背景:
According to the symfony documentation form.field1.vars.attr is a key based array, with a
class
-key. So you can access all existing classes in this way.
关于forms - form_widget : Add classes to existing classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36202111/