7

I am trying to use the bundle JMS Translation but I have this error. It is I guess because my version of twig is not the same the one of the bundle? What to do?

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 

Here is my requirement in composer.json:

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

Here is what is in the composer of JMS Translation:

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

Thanks in advance!

user849017
  • 193
  • 1
  • 3
  • 10

4 Answers4

18

Save this in a txt file and use ever!

For Twig extensions (truncate & wordwrap)

composer require twig/extensions

after that you have two ways...

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

Or include in services.yml

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

For Symfony 4

in the file '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

Although when I had installed it, it worked fine, now, it needs this:

services:
    twig.extension.text:
           class: Twig_Extensions_Extension_Text
           tags:
               - { name: twig.extension }
user849017
  • 193
  • 1
  • 3
  • 10
  • Addid this only changed the error message to be more general, saying `The filter "translate" does not exist` instead of `.. exist in ...` :-( – Andresch Serj Apr 28 '15 at 11:51
1

With symfony 4 you can use twig extra https://twig.symfony.com/doc/2.x/filters/u.html

1

This solution works fine for me :

  1. $ composer require -W twig/extensions
  2. 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 
jakob.j
  • 942
  • 13
  • 28
RBen
  • 11
  • 1
  • 1