我使用separate template来定义表单中的块。
我还要在与我的表单(method 1此处)相同的模板中自定义form_label
。这是因为我为了渲染我的实际输入字段而定义了我的form_label
块,但对于ArrayCollections
,我想以不同的方式呈现内容。
例如,我想渲染一个emails
数组。这是我的代码:
<h4>{{ form_label(form.emails) }}</h4>
{% for email in form.emails %}
{{ form_row(email) }}
{% endfor %}
对于form.emails
标签,我只想输出文本(在本例中为“电子邮件”),而对于实际的input
字段,我想要使用我定义的内容在我的模板中(label
标记,其中包含类control-label
,等等。所以,它正如我所希望的那样email
,而不是form_label(form.emails)
部分。
这可能吗?因为我已经使用过了
{% form_theme form 'TechrescueAdminBundle:Form:fields.html.twig' %}
我也不能使用
{% form_theme form _self %}
还有其他方法吗?如果没有,有什么解决方案?
答案 0 :(得分:0)
难道你不能只是动态设置类而不是使用新的块吗?
{{ form_label(form.item, null, {'label_attr' : {'class': 'control-label'}}) }}
来自:Symfony2, How to make a form label class/attr different than its input?