供应商包的视图中不存在过滤器"truncate"(twig)

vir*_*ail 7 bundle symfony twig composer-php twig-extension

我正在尝试使用捆绑JMS Translation但我有这个错误.我猜是因为我的twig版本与捆绑版本不一样?该怎么办?

CRITICAL - Uncaught PHP Exception Twig_Error_Syntax: "The filter "truncate" does not exist in "...\vendor\jms\translation-bundle\JMS\TranslationBundle/Resources/views/Translate/messages.html.twig" at line 14" at ...\vendor\twig\twig\lib\Twig\ExpressionParser.php line 588 
Run Code Online (Sandbox Code Playgroud)

这是我在composer.json中的要求:

 "require": {
        ...
        "twig/extensions": "~1.2.0",
Run Code Online (Sandbox Code Playgroud)

以下是JMS Translation的作曲家:

"conflict": {
    "twig/twig": "1.10.2"
},
"require-dev": {
    "symfony/twig-bundle": "*",
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Jos*_*ero 17

将其保存在txt文件中并永远使用!

对于Twig扩展(truncate&wordwrap)

composer require twig/extensions
Run Code Online (Sandbox Code Playgroud)

之后你有两种方式......

$twig->addExtension(new Twig_Extensions_Extension_Text());
Run Code Online (Sandbox Code Playgroud)

或者包含在services.yml中

services:
    twig.extension.text:
            class: Twig_Extensions_Extension_Text
            tags:
                - { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)


vir*_*ail 5

尽管我安装完它后就可以正常工作,但现在它需要这样做:

services:
    twig.extension.text:
           class: Twig_Extensions_Extension_Text
           tags:
               - { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)