2012-04-18 18 views
6

मुझे इस मामले में सेट करने योग्य चर के साथ कुछ परेशानी हो रही है। जब मैं लूप के अंदर जाता हूं, चर मौजूद नहीं होता है। किसी के पास इस पर कोई अंतर्दृष्टि है। आपकी मदद की सराहना करेंड्रीमवेवर टेम्पलेट में लूपिंग और टेम्पलेट रीपेट इंडेक्स

नीचे टेम्पलेट में मेरा कोड अनुभाग है। क्या आपको मौका मिलने पर मदद मिलेगी? धन्यवाद।

<!-- TemplateBeginRepeat name="Component.Fields.section" --> 
@@SetVariable("columnSectionIndex", "${TemplateRepeatIndex}")@@ 
Inline Value @@GetVariable("columnSectionIndex")@@  Variable value can be accessed 
    <!-- TemplateBeginRepeat name ="Field.links" --> 
     Inside Loop Value @@GetVariable("columnSectionIndex")@@ //Not getting declared   variable //value here. Says variable doesn’t exist in ContextVariables. 
     <!-- TemplateBeginRepeat name ="Field.linkimages" --> 
     <!-- TemplateEndRepeat --> 
    <!-- TemplateEndRepeat --> 
<!-- TemplateEndRepeat --> 

आउटपुट

Variable Added Successfully 
Inline Value 0 
Inside Loop Value Variable doesn't exist 

मेरे डीडब्ल्यूटी कोड

[TemplateCallable()] 
public string SetVariable(string variableName, string value) 
    { 
     //Remove the old variable and set the new variable 
     if (_Engine.PublishingContext.RenderContext.ContextVariables.Contains(variableName)) 
     { 
      _Engine.PublishingContext.RenderContext.ContextVariables[variableName] = value; 
      return "Variable Modified Successfully"; 
     } 
     else 
     { 
      _Engine.PublishingContext.RenderContext.ContextVariables.Add(variableName, value); 
      return "Variable Added Successfully"; 
     } 
    } 
    [TemplateCallable()] 
    public string GetVariable(string variableName) 
    { 
     //Get the varialbe 
     if (_Engine.PublishingContext.RenderContext.ContextVariables.Contains(variableName)) 
      return _Engine.PublishingContext.RenderContext.ContextVariables[variableName].ToString(); 
     else 
      return "Variable doesn't exist"; 
    } 

उत्तर

4

यह मदद कर सकता है: लूप में चर के साथ http://www.tridiondeveloper.com/get-and-set-variables-in-dwts

+0

आपके समय के लिए धन्यवाद बप्पी। मैंने tridiondeveloper से एक ही कोड का उपयोग किया लेकिन काम नहीं किया। –

5

समस्याएं अच्छी तरह से जाना जाता है और यहां तक ​​कि documented

असल में पहला चरम पहले से ही आपके चर सेट करते समय मूल्यांकन किया जाता है, इसलिए आप हमेशा एक से दूर रहेंगे।

  • सेट चर मैं = 0
  • लूप पुनरावृत्ति 1, मैं = अशक्त
  • लूप पुनरावृत्ति 2, मैं = 0
  • लूप पुनरावृत्ति 3, मैं = 1
  • आदि
+0

जानकारी के लिए आपको नूनो धन्यवाद। यह सहायता करता है! –

+0

आप इसे उत्तर के रूप में चिह्नित करना चाहते हैं, इसलिए यह अन्य प्रश्नों को उसी प्रश्न के साथ मदद करता है। –