更改Twig连接分隔符

时间:2018-01-31 13:24:14

标签: twig concatenation delimiter

twig使用~进行连接,有没有办法将其更改为另一个符号?

我知道有一种方法可以更改其他分隔符,例如块,注释等,但我没有找到连接的任何内容。所以,如果有人知道,那就太好了!

1 个答案:

答案 0 :(得分:1)

对于你所谈论的分层,TwigLexer只定义了这个符号:

$this->options = array_merge(array(
    'tag_comment' => array('{#', '#}'),
    'tag_block' => array('{%', '%}'),
    'tag_variable' => array('{{', '}}'),
    'whitespace_trim' => '-',
    'interpolation' => array('#{', '}'),
), $options);

正如@DarkBee所提到的,您可以使用https://twig.symfony.com/doc/2.x/advanced.html#operators

定义自己的运算符

您可以在此php类中找到已定义的运算符,以帮助您定义自己的运算符: vendor/twig/twig/lib/Twig/Extension/Core.phpTwig_Extension_Core::getOperators

您的运营商将

class Project_Twig_Extension extends Twig_Extension
{
    public function getOperators()
    {
        return array(
            array(),
            array(
               '~' => array('precedence' => 40, 'class' => 'Twig_Node_Expression_Binary_Concat', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
            ),
        );
    }

    // ...
}