Symfony2 - 无法识别自定义树枝扩展名

时间:2013-07-09 01:10:13

标签: php symfony twig

我已经关注了主题上的Symfony2 docs,但我的树枝延伸部分没有被树枝看到/识别。

我的扩展课程:

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 }

最后,错误:

  

过滤器" round" MyBundle中不存在:调查:第38行的results.html.twig

我不知道该怎么办。

2 个答案:

答案 0 :(得分:1)

对于发现此问题的人,请不要按照接受的答案。 {@ 1}}已弃用,将在Twig 2.0中删除。必须使用Twig_Filter_Method。可能作者只需要更新他的Twig版本。

答案 1 :(得分:0)

尝试使用Twig_Filter_Method,而不是Twig_SimpleFilter