解决方法
Every template name also has two extensions that specify the format and engine for that template.
AcmeBlogBundle:Blog:index.html.twig - HTML format,Twig engine AcmeBlogBundle:Blog:index.html.PHP - HTML format,PHP engine AcmeBlogBundle:Blog:index.css.twig - CSS format,Twig engine
By default,any Symfony2 template can be written in either Twig or PHP,and the last part of the extension (e.g. .twig or .PHP) specifies which of these two engines should be used. The first part of the extension,(e.g. .html,.css,etc) is the final format that the template will generate.
因此,对于包含.html文件的文件,即使没有引发错误,也是至关重要的.
所以你有3个选择:
>如果文件是纯粹的JavaScript,那么将它们作为脚本标签包含在您的页面中.
>如果它们是混合的HTML和JS,然后用{%raw%}转义JS,并将这些文件包含为foo.html.twig模板.如果这样包含许多脚本,那么很可能您的设计人员可以通过一些重构将其大部分脚本移动到外部文件(参见选项1)
>如果你真的坚持你可以总是写一个Twig扩展名来包含原始的HTML文件. (编辑:请参阅@ Haprog的下面的答案有关此选项的更多详细信息).
{{include_html(‘foo / bar.html’)}}
> UPDATE 2015 twig已经添加了源代码功能:
{{source(‘AcmeSomeBundle:Default:somefile.html.twig’)}}
在下面的选项4的评论中,向@Nigel Angel致敬.