7

我正在尝试使用捆绑 JMS 翻译,但出现此错误。我猜是因为我的 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 Translation 的作曲家中的内容:

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

提前致谢!

4

4 回答 4

18

将其保存在 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
于 2015-12-02T18:22:11.360 回答
5

虽然当我安装它时,它运行良好,但现在,它需要这个:

services:
    twig.extension.text:
           class: Twig_Extensions_Extension_Text
           tags:
               - { name: twig.extension }
于 2015-02-26T16:17:56.543 回答
0

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

  1. $ composer require -W twig/extensions
  2. 取消注释下面的任何行以激活该 Twig 扩展:
Twig\Extensions\ArrayExtension: null  
Twig\Extensions\DateExtension: null  
Twig\Extensions\IntlExtension: null  
Twig\Extensions\TextExtension: null 
于 2021-01-10T19:38:55.710 回答
0

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

于 2020-05-22T22:38:54.210 回答