2014-07-10 17 views
5

मैं Template::Toolkit उपयोग कर रहा हूँ और भीतर के रूप में चर का मूल्यांकन नहीं है पाश के लिए मैं एक वस्तु का समय क्षेत्र बदलने के लिए कोशिश कर रहा हूँ एक:खाका :: टूलकिट स्ट्रिंग

[%- FOR item IN c.user.items -%] 
    [% item.date.set_time_zone(c.user.timezone.name) %] 

    Date: [% item.date %] <br /> 
[% END %] 

यह काम करता है और यह समय क्षेत्र बदलता है, लेकिन set_time_zone फ़ंक्शन DateTime ऑब्जेक्ट देता है जिसे उसके बाद पृष्ठ पर मूल्यांकन किया जाता है। इसलिए लूप के चारों ओर हर बार स्ट्रिंग का मूल्यांकन किया जाता है और पृष्ठ पर रखा जाता है। मुझे पता है कि कुछ अन्य टेम्पलेटिंग सिस्टम में टैग के दो सेट होते हैं, जो कि केवल इस कोड को चलाता है और दूसरा कहता है कि इसका मूल्यांकन करें और इसे पृष्ठ पर रखें। क्या टेम्पलेट :: टूलकिट में ऐसा कुछ है? मैंने देखा है लेकिन मुझे कुछ भी नहीं मिल रहा है। एक ही रास्ता मैं अब तक मिल गया है स्ट्रिंग पेज पर मूल्यांकन नहीं करने के लिए मूल्य है कि एक चर में लौट जाता है सेट है:

[% var = item.date.set_time_zone(c.user.timezone.name) %] 

किसी टेम्पलेट में यह करने के लिए एक बेहतर तरीका पता है :: टूलकिट? प्रलेखन से

[% CALL item.date.set_time_zone(c.user.timezone.name) %] 

:

उत्तर

9

CALL निर्देश का प्रयास करें

कॉल निर्देश चर नामित मूल्यांकन में प्राप्त करने के लिए समान है, लेकिन प्रिंट नहीं करता परिणाम प्राप्त हुआ। यह उपयोगी हो सकता है जब एक चर एक उप-रूटीन या ऑब्जेक्ट विधि से बंधे होते हैं जिसे आप कॉल करना चाहते हैं लेकिन लौटाए गए मान में रूचि नहीं रखते हैं।

+0

सही! धन्यवाद :) – srchulo

संबंधित मुद्दे