【发布时间】:2014-08-31 08:27:51
【问题描述】:
我正在使用 Template::Toolkit 并在 for 循环中尝试更改对象的时区:
[%- FOR item IN c.user.items -%]
[% item.date.set_time_zone(c.user.timezone.name) %]
Date: [% item.date %] <br />
[% END %]
它可以工作并且会更改时区,但set_time_zone 函数会返回DateTime 对象,然后将其评估到页面上。因此,每次在 for 循环中,都会对字符串进行评估并将其放到页面上。我知道其他一些模板系统有两组标签,一组表示只运行此代码,另一组表示评估此代码并将其放在页面上。 Template::Toolkit 有这样的东西吗?我已经看过,但我似乎找不到任何东西。到目前为止,我发现没有在页面上评估字符串的唯一方法是设置返回给变量的值:
[% var = item.date.set_time_zone(c.user.timezone.name) %]
有谁知道在 Template::Toolkit 中执行此操作的更好方法?
【问题讨论】:
标签: perl template-toolkit evaluate