我的 一些选择选项中有一个硬空格().不知何故,在某个地方,他们正在逃脱.我试过了:
{% autoescape false %}
{{ form_widget(foobar) }}
{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)
以及
{{ form_widget(foobar)|raw }}
Run Code Online (Sandbox Code Playgroud)
以及Twig中的以下内容 config.yml
autoescape: false
Run Code Online (Sandbox Code Playgroud)
然而,选择字段仍然被渲染为 Choice Text Here代替Choice Text Here,而在源中它们被编码为 Choice Text Here
在控制器中我有:
$form ->add('foo', 'choice', array(
'label' => 'Foo Label',
'choices' => $fooChoices,
'required' => true));
$form = $form->getForm();
$foobar = $form->createView();
Run Code Online (Sandbox Code Playgroud)
如果print_r $fooChoices我得到:
Array ( [1] => 60# FooBar [5] => 60# BatBar [11] => 60# DooWop )
Run Code Online (Sandbox Code Playgroud)
这显示了我的正确 (注意60年代前面的双重空间).在FormBuilder和渲染之间的某个地方,它会被转义.
表单生成器内部是否存在内置转义?
我所推断的是,通过$form->createView()数据呈现表单视图仍然没有转义.但是,当它通过form_widget到达Twig时,它已被转义.做form_widget(foobar)|raw这个显示.
编辑:我已经添加了一个解决方法作为答案,但我仍然有兴趣接受一个解释如何防止最初的逃避完全发生的答案.
小智 8
我遇到了无线电标签的同样问题.这解决了它.
{% for child in form %}
{% autoescape false %}
{{ child.vars.label }}
{% endautoescape %}
{{ form_widget(child) }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5504 次 |
| 最近记录: |