2013-03-19 41 views
0

我正在使用Symfony 2.1.8並且我有一個具有多對一關係的實體的形式。 我使用實體字段此構件和我稱之爲在buildForm()爲:Symfony2如何不轉義實體字段屬性中使用的字符

$ builder->加( '方向', '實體',陣列( '類'=> 'CompanyBundle:方向' ,
'屬性'=> 'enTranslation.arrowedTitle',
'empty_value'=>假,
'標籤'=> '連接方向',
'所需'=>假 ));

enTranslation.arrowedTitle是返回其包括'⇒'(對於右箭頭字符集)

一個串的函數,當我打電話{{ form_widget(form.direction) }}我看到字符串,因爲它是,(未箭頭但& RARR)對於顯示目的,箭頭必須顯示,但我看到在該領域的rArr。

對於簡單的字符串渲染,使用|raw過濾器,但它不適用於窗口小部件。我應該怎麼做才能顯示⇒而不是'& rArr;'在形式?謝謝你的幫助。

回答

0

您必須創建一個表單主題,以至少標籤包含該字符的字段類型。

爲安全起見,Symfony/Twig默認轉義值。

更多信息,請參見本節文檔: http://symfony.com/doc/current/cookbook/form/form_customization.html#form-theming

+0

THX的幫助;其實我試圖覆蓋choice_widget,但今天我做到了。我創建了'fields.html.twig'文件,並根據需要覆蓋了選擇小部件。但是,包含覆蓋模板是不可能的。例如'{%form_theme form'StaffBundle:Form:field_errors.html.twig'%} {%form_theme form'CompanyBundle:Form:fields.html.twig'%}'當我包含field.html.twig時,破碎。你有好主意嗎? – tigris 2013-03-20 08:55:27

+1

我也解決了這個問題,對於多個包含,我們應該在一行中使用字符串,例如:{%form_theme form「StaffBundle:Form:field_errors.html.twig」「CompanyBundle:Form:fields.html.twig」%} ' – tigris 2013-03-20 09:20:25

相關問題