Twig-将函数结果传递到另一个函数中



我正在使用他们设置的Twig环境为All-in-One Event Calendar编写我自己的主题。我正在尝试检查事件的日期是否在当前时间的几个小时内,并编写了自己的函数来进行检查,但我很难获得我想要通过的内容。

如果我这样做:

{{event.get('start')}}

Twig打印时间戳-超级棒!

但如果我这样做:

{% if expired(event.get('start')) %}

并打印expired函数的参数,我发现它收到了一个巨大的Ai1ec_Date_Time对象,而不是时间戳。如何将第一个示例的输出传递到第二个示例中的函数中?

想明白了。在expired函数中的参数上使用了Ai1EC_Date_Time类方法__toString(),所以我最终得到了如下内容:

function expired($date) {
    $time = strtotime($date->__toString());
    ...
}

回想起来,这是一个显而易见的解决方案,但希望这能在未来帮助到一些人。

最新更新