树枝中包含的模板将特殊字符打印为资产中的 ascii
Inluded templates in twig print special characters as ascii in assets
我对 Symfony 2.7.1 有疑问
我最近将我的项目从 2.3 升级到 2.7.1。
我检查了我所有的项目,搜索已弃用的东西来修复它,但是当我打开一个动作 twig 包含的模板又包含资产时,它们以 ASCII 格式显示在 bars 目录中。
我留下问题的例子,看看有没有人能给我一个解决方案。
在我的模板中
{% block javascripts %}
{% include 'AdminBundle:Global:notifications.html.twig' %}
{% include '::genemu.js.html.twig' with {'form': form} %}
{% endblock %}
这是genemu.js.html.twig中显示错误的内容
{% javascripts output='admin/js/compiled/main_forms.js'
'bundles/bmatznerjqueryui/js/minified/jquery-ui.min.js'
'bundles/pinanoselect2/js/select2.full.min.js'
'uploadify/jquery.uploadify.min.js'
'tinymce/js/tinymce/jquery.tinymce.min.js'
'datetimepicker/jquery.datetimepicker.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
是这样显示的
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery\x2Dui.min_1.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_select2.full.min_2.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.uploadify.min_3.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.tinymce.min_4.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.datetimepicker_5.js"></script>
我认为一定是 2.7.1 的问题,因为它在 2.3 中工作正常
谢谢。
这是因为较新版本的 Twig 将您的 genemu.js.html.twig
检测为 javascript(因为其中的 js),现在使用了 js 转义策略。
将文件重命名为 genemu.html.twig
因为它是 html.
我对 Symfony 2.7.1 有疑问
我最近将我的项目从 2.3 升级到 2.7.1。
我检查了我所有的项目,搜索已弃用的东西来修复它,但是当我打开一个动作 twig 包含的模板又包含资产时,它们以 ASCII 格式显示在 bars 目录中。
我留下问题的例子,看看有没有人能给我一个解决方案。
在我的模板中
{% block javascripts %}
{% include 'AdminBundle:Global:notifications.html.twig' %}
{% include '::genemu.js.html.twig' with {'form': form} %}
{% endblock %}
这是genemu.js.html.twig中显示错误的内容
{% javascripts output='admin/js/compiled/main_forms.js'
'bundles/bmatznerjqueryui/js/minified/jquery-ui.min.js'
'bundles/pinanoselect2/js/select2.full.min.js'
'uploadify/jquery.uploadify.min.js'
'tinymce/js/tinymce/jquery.tinymce.min.js'
'datetimepicker/jquery.datetimepicker.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
是这样显示的
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery\x2Dui.min_1.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_select2.full.min_2.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.uploadify.min_3.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.tinymce.min_4.js"></script>
<script type="text/javascript" src="\x2Fapp_dev.php\x2Fadmin\x2Fjs\x2Fcompiled\x2Fmain_forms_jquery.datetimepicker_5.js"></script>
我认为一定是 2.7.1 的问题,因为它在 2.3 中工作正常
谢谢。
这是因为较新版本的 Twig 将您的 genemu.js.html.twig
检测为 javascript(因为其中的 js),现在使用了 js 转义策略。
将文件重命名为 genemu.html.twig
因为它是 html.