TWIG / SYMFONY2 - 过滤器“date_modify”不存在

时间:2013-09-24 10:25:57

标签: php date symfony twig

我正试图在index.html.twig中操纵日期,例如:

{{ myDate | date_modify("+3 day") | date('Y-m-d') }}

并收到错误:

  

过滤器“date_modify”不存在于   XXX:YYY:第723行的index.html.twig

我正在使用Symfony 2.0.16,到目前为止使用的日期仍在使用。

过滤器不在TWIG库中的原因是什么?

  

(Twig_Error_Syntax:过滤器“date_modify”不存在于   “XXX:YYY:index.html.twig”第723行(未捕获的例外)at   /.../.../.../.../.../.../vendor/twig/lib/Twig/Node/Expression/Filter.php   第29行

2 个答案:

答案 0 :(得分:0)

1.9.0版中的新功能:在Twig 1.9.0中添加了date_modify过滤器。

可能你有一个旧版本

答案 1 :(得分:0)

创建您的树枝延伸。在您的捆绑包中,创建Twig/Extension/XXXExtension.php

<?php

namespace XXX\YourBundle\Twig\Extension;

use Symfony\Component\DependencyInjection\ContainerInterface;

class XXXExtension extends \Twig_Extension
{
    private $container;

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container; 
    }

    public function getFilters()
    {
        return array('date_modify' => new \Twig_Filter_Method($this, 'dateModify', array('is_safe' => array('html'))));
    }

    public function dateModify($rangeDate)
    {
        // your code
    }
}
?>