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

时间:2015-02-26 15:55:26

标签: symfony twig bundle 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 

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

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

以下是JMS翻译作曲家的内容:

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

提前致谢!

4 个答案:

答案 0 :(得分:16)

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

For Twig扩展名(truncate& wordwrap)

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 }

答案 1 :(得分:5)

虽然当我安装它时,它工作正常,现在,它需要这个:

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

答案 2 :(得分:0)

使用symfony 4,您可以使用twig extra https://twig.symfony.com/doc/2.x/filters/u.html

答案 3 :(得分:0)

这个解决方案对我来说很好:

  1. Netral
  2. 取消注释以下任何行以激活该 Twig 扩展:
$ composer require -W twig/extensions