変数(この場合はSetvariable)へのアクセスに問題があります。ループ内に入ると、変数が存在しません。誰もがこれについての洞察を持っています。あなたの助けに感謝
以下は、テンプレートの私のコードセクションです。機会があれば手伝っていただけませんか?ありがとう。
<!-- 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
私のdwtコード
[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";
}