2015-06-20 121 views
1

在默認的Symfony佈局下,我可以使用form_label上的第一個參數來爲我的複選框設置標籤文本。例如,這樣的:Symfony2:設置引導佈局下複選框的表單標籤

{{ form_label(form.fooCheckbox, 'Foo') }} 

正確呈現爲:

<label>Foo</label> 

但是,如果我用的是Bootstrap layout,同樣的論點被忽略了:

{{ form_label(form.fooCheckbox, 'Foo') }} 

呈現爲:

<label>*default humanized label*</label> 

H我能解決這個問題嗎?

回答

2

在對Bootstrap佈局文件進行另一次查看後發現了這一點。而不是渲染我複選框這樣的:

{{ form_widget(form.fooCheckbox) }} 
{{ form_label(form.fooCheckbox, 'Foo') }} 

標籤參數有向上移動到窗口小部件,像這樣:

{{ form_widget(form.fooCheckbox, {'label': 'Foo'}) }} 

我看不出這個沒有提到的文檔中 - 希望這會幫助別人。

+0

你可以在這裏找到它 - http://symfony.com/doc/current/reference/forms/twig_reference.html#form-row-view-variables – Artamiel

+0

@Artamiel爲了澄清,[form_label arguments](http:///symfony.com/doc/current/reference/forms/twig_reference.html#form-label-view-label-variables)在Bootstrap佈局下不起作用。在您發佈的鏈接中我看不到任何提及。 – Jonathan

+0

你確定?我包含在配置' - bootstrap_3_layout.html.twig',然後在我的模板文件中,我修改了'form_label'到'{{form_label(form.email,'使用引導佈局更改了標籤')}}顯示'改變標籤與引導佈局'很好。 – Artamiel