[英]Perl and Template Toolkit: object stringify in custom filter
在我的模板中(通过Template Toolkit
),我传递了一个DateTime对象(来自DBIx::Class
和DBIx::Class::InflateColumn::DateTime
)。 我可以在模板中执行obj.year和所有其他DateTime操作。 但是对象在我的自定义过滤器中被字符串化了。 我基本上是在打电话[% user.last_visited_date | time_ago %]
[% user.last_visited_date | time_ago %]
,其中time_ago是自定义过滤器,基本上是这样的:
sub timeago {
sub { my $datetime_obj = shift; #do more work }
}
在这里,我期望在自定义过滤器中使用DateTime obj,但它是stringify ..
我该如何解决?
不要为此使用过滤器,而是编写一个自定义插件 :
[% YourPlugin.time_ago(user.last_visited_date) %]
或添加自定义vmethod :
[% user.last_visited_date.time_ago %]
过滤器用于文本处理,例如HTML编码等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.