繁体   English   中英

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

[英]TWIG/SYMFONY2 - The filter “date_modify” does not exist

我正在尝试使用类似以下方法操纵index.html.twig中的日期:

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

并得到错误:

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

我正在使用Symfony 2.0.16,并且使用的日期到目前为止一直有效。

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

(Twig_Error_Syntax:/.../.../.../.../。处的第723行(未捕获的异常)的“ XXX:YYY:index.html.twig”中不存在过滤器“ date_modify”。 ./.../vendor/twig/lib/Twig/Node/Expression/Filter.php第29行)

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

可能您有旧版本

创建您的树枝扩展名。 在您的捆绑包中,创建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
    }
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM