2013-07-09 51 views
0

我已按照主题Symfony2 docs,但我的树枝延伸不被树枝识别/识别。Symfony2 - 自定义树枝延伸不被识别

我的扩展类:

namespace Acme\MyBundle\Twig; 

class RoundExtension extends \Twig_Extension 
{ 
    public function getFilters() 
    { 
     return array(new \Twig_SimpleFilter('round', array($this, 'roundFilter'))); 
    } 

    public function roundFilter($number, $factor = 4) 
    { 
     $round = (ceil($number * $factor))/$factor; 

     return number_format($round, 2); 
    } 

    public function getName() 
    { 
     return 'round_extension'; 
    } 
} 

而且我services.yml:

services: 
    acme.twig.round_extension: 
     class: Acme\MyBundle\Twig\RoundExtension 
     tags: 
      - { name: twig.extension } 

最后,错误:

The filter "round" does not exist in MyBundle:Survey:results.html.twig at line 38

我不知道如何着手。

回答

0

尝试使用Twig_Filter_Method,不Twig_SimpleFilter

1

对于那些谁发现了这个问题,请不要遵循公认的答案。 Twig_Filter_Method已弃用,将在Twig 2.0中删除。必须使用Twig_SimpleFilter。可能作者只是不得不更新他的树枝版本。