Tôi đang sử dụng Template::Toolkit và trong một vòng lặp for Tôi cố gắng để thay đổi múi giờ của một đối tượng:Template :: Toolkit không đánh giá biến như chuỗi
[%- FOR item IN c.user.items -%]
[% item.date.set_time_zone(c.user.timezone.name) %]
Date: [% item.date %] <br />
[% END %]
Nó hoạt động và nó thay đổi múi giờ, nhưng hàm set_time_zone
trả về đối tượng DateTime sau đó được đánh giá trên trang. Vì vậy, mỗi lần vòng lặp for chuỗi được đánh giá và đưa vào trang. Tôi biết rằng một số hệ thống templating khác có hai bộ thẻ, một trong đó nói rằng chỉ cần chạy mã này và một trong đó nói rằng đánh giá này và đặt nó trên trang. Liệu Template :: Toolkit có bất cứ điều gì như thế này? Tôi đã nhìn nhưng tôi dường như không thể tìm thấy bất cứ điều gì. Cách duy nhất tôi đã tìm thấy cho đến nay để không có chuỗi được đánh giá trên trang được đặt giá trị được trả về một biến:
[% var = item.date.set_time_zone(c.user.timezone.name) %]
Có ai biết cách tốt hơn để làm điều này trong Mẫu :: Bộ công cụ?
hoàn hảo! Cảm ơn :) – srchulo