Twig:防止parsing客户端模板
我需要输出一部分客户端句柄模板,其标签类似于树枝的“say”标签:
<script type="text/x-handlebars"> {{#view App.MyView}} <h1>Hello world!</h1> {{/view}} </script>
而树枝试图parsing这些模板。 我如何防止它? 是否可以标记为纯文本模板的一部分?
有这样的原始标签:
<script type="text/x-handlebars"> {% raw %} {{#view App.MyView}} <h1>Hello world!</h1> {{/view}} {% endraw %} </script>
更新
由于raw
标记已弃用,请verbatim
使用。
不推荐使用{%raw%}
{% verbatim %} <ul> {% for item in seq %} <li>{{ item }}</li> {% endfor %} </ul> {% endverbatim %}
资料来源: http : //twig.sensiolabs.org/doc/tags/verbatim.html
对于更大的模板块,我build议将这些脚本模板移动到一个单独的文件/文件(我想它们应该是使所有更加结构化)。
然后使用源代码{{source('uploadables-js.html')}}(重要的是,不要使用'或'include')来渲染你的树枝中的模板。
为了不使用原始或逐字标记模板,可以将lexar选项更改为不与客户端模板引擎冲突:
... $lexer_options = [ 'tag_variable' => ['{~', '~}'], ]; $lexer = new Twig_Lexer($twig, $lexer_options); $twig->setLexer($lexer);