0

次のようなもので index.html.twig の日付を操作しようとしています:

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

そしてエラーを取得します:

フィルタ「date_modify」が XXX:YYY:index.html.twig の 723 行目に存在しません

私は Symfony 2.0.16 を使用していますが、使用されている日付はこれまでのところ機能しています。

フィルタが TWIG ライブラリに存在しない理由は何でしょうか?

(Twig_Error_Syntax: フィルタ "date_modify" は /.../.../.../.../.. ./.../vendor/twig/lib/Twig/Node/Expression/Filter.php 行 29)

4

2 に答える 2

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 に答える
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 に答える