我有文件index.html.twig
。
在此文件中,我包含另一个文件:{% include 'MyBundle:Test:_test.js.twig' %}
_test.js.twig
文件只有一行:{{ test_var }}
在控制器中,我传递了test_var
:return array('test_var' => '"test"');
问题在于,如果我使用不同的环境(dev和prod),sf将使用不同的转义转义策略。
在开发中我看到输出:\x22test\x22
(这是一个js转义策略)
在prod:"test"
(这是一个html转义策略)
为什么呢?我认为dev和prod环境应该同样有效。
答案 0 :(得分:1)
我不能说为什么。我需要看看你的config.yml和config_dev.yml。
但你可以像这样写MyBundle:Test:_test.js.twig
:
{{ test_var|e('js') }}
或:
{% autoescape 'js' %}
{{ test_var }}
{% endautoescape %}