Symfony2 / Twig:可以更改默认分隔符吗?

时间:2014-07-28 19:38:54

标签: angularjs symfony twig

在Twig中,用于评估表达式的默认分隔符是{{...}}。有什么方法可以将其更改为其他内容,例如{[{...}]}?

因为我需要通过Twig提供AngularJS部分,并且AngularJS使用完全相同的分隔符进行数据绑定。我知道如何更改AngularJS中的分隔符,但由于有数百个和更少的Twig分隔符,因此更改Twig代码会更好。

3 个答案:

答案 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