0

我正在尝试使用以下内容操作 index.html.twig 中的日期:

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

并得到错误:

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

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

过滤器没有出现在 TWIG 库中的原因可能是什么?

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

4

2 回答 2

0

New in version 1.9.0: The date_modify filter has been added in Twig 1.9.0.

Probably you have an old version

于 2013-09-24T10:28:48.167 回答
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
    }
}
?>
于 2013-09-24T10:35:04.840 回答