Ich verwende Template::Toolkit und innerhalb einer for-Schleife Ich versuche, die Zeitzone eines Objekts zu ändern:Template :: Toolkit nicht auswerten Variable als Zeichenfolge
[%- FOR item IN c.user.items -%]
[% item.date.set_time_zone(c.user.timezone.name) %]
Date: [% item.date %] <br />
[% END %]
Es funktioniert und es ändert sich die Zeitzone, aber die set_time_zone
Funktion gibt das Objekt DateTime zurück, das dann auf der Seite ausgewertet wird. Daher wird die Zeichenfolge jedes Mal um die for-Schleife ausgewertet und auf die Seite gelegt. Ich weiß, dass einige andere Templating-Systeme zwei Sätze von Tags haben, einen, der besagt, dass nur dieser Code ausgeführt wird, und ein anderer, der sagt, wertet das aus und legt es auf die Seite. Hat Template :: Toolkit so etwas? Ich habe geschaut, aber ich kann nichts finden. Der einzige Weg, die ich bisher gefunden habe nicht die Zeichenfolge auf der Seite ausgewertet haben, um den Wert festgelegt, der auf eine Variable zurückgegeben wird:
[% var = item.date.set_time_zone(c.user.timezone.name) %]
Hat jemand einen besseren Weg weiß, dass dies in Vorlage zu tun :: Werkzeugkasten?
perfekt! Vielen Dank :) – srchulo