在Twig中,用于评估表达式的默认分隔符是{{...}}。有什么方法可以将其更改为其他内容,例如{[{...}]}?
因为我需要通过Twig提供AngularJS部分,并且AngularJS使用完全相同的分隔符进行数据绑定。我知道如何更改AngularJS中的分隔符,但由于有数百个和更少的Twig分隔符,因此更改Twig代码会更好。
答案 0 :(得分:2)
我建议你这个方法:
<div ng-app="angularApp">
{% verbatim %}
{{ angular_code}}
{% endverbatim %}
</div>
答案 1 :(得分:1)
Twig允许对块分隔符进行一些语法自定义。它&#39; S 不建议使用此功能作为模板将绑定 你的自定义语法。但对于特定项目,它可以有意义 更改默认值。
要更改块分隔符,您需要创建自己的词法分析器 对象:
$twig = new Twig_Environment();
$lexer = new Twig_Lexer($twig, array(
'tag_comment' => array('{#', '#}'),
'tag_block' => array('{%', '%}'),
'tag_variable' => array('{{', '}}'),
'interpolation' => array('#{', '}'),
));
$twig->setLexer($lexer);
文档:http://twig.sensiolabs.org/doc/recipes.html#customizing-the-syntax
答案 2 :(得分:0)
TwigBundle不提供词法分隔符的配置 更改它们会禁止您使用提供的任何模板 共享包(包括提供的异常模板) TwigBundle本身)。
但是,您可以使用角度模板周围的原始标记 避免逃避所有花括号的痛苦: http://twig.sensiolabs.org/doc/tags/raw.html
https://groups.google.com/forum/#!msg/symfony2/kyebufz4M00/8VhF1KWsSAEJ