在供应商捆绑包的视图中,(树枝)过滤器“ truncate”不存在

问题描述 投票:6回答:2

我正在尝试使用捆绑包JMS翻译,但出现此错误。我猜是因为我的树枝版本与捆绑包中的版本不一样吗?该怎么办?

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 

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

 "require": {
        ...
        "twig/extensions": "~1.2.0",

这里是JMS Translation的撰写者:

"conflict": {
    "twig/twig": "1.10.2"
},
"require-dev": {
    "symfony/twig-bundle": "*",

提前感谢!

symfony twig bundle composer-php twig-extension
2个回答
16
投票

将其保存到txt文件中并使用!

对于Twig扩展名(截断和自动换行)

composer require twig/extensions

之后有两种方法...

$twig->addExtension(new Twig_Extensions_Extension_Text());

或包含在services.yml中

services:
    twig.extension.text:
            class: Twig_Extensions_Extension_Text
            tags:
                - { name: twig.extension }

对于Symfony 4

在文件'config / packages / twig_extensions.yaml'中

Uncomment any lines below to activate that Twig extension
Twig\Extensions\ArrayExtension: null
Twig\Extensions\DateExtension: null
Twig\Extensions\IntlExtension: null
Twig\Extensions\TextExtension: null

5
投票

尽管我已经安装了它,但是现在工作正常,它需要这个:

services:
    twig.extension.text:
           class: Twig_Extensions_Extension_Text
           tags:
               - { name: twig.extension }
© www.soinside.com 2019 - 2024. All rights reserved.