2013-03-19 79 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

相关问题