有没有一种方式,通过调用RenderComponentPresentation时传递变量? [重

2019-07-29 06:06发布

可能重复:
在支持SDL Tridion Dreamweaver模板变量设置

我们使用RenderComponentPresentation (在外表套上2009年),以使内部和外部的联系,使代码库中只有一个Dreamweaver模板。 这将是有益的,如果我们能够通过一个可选的CSS类呈现链接时使用。

任何想法如何可以这样做?

Answer 1:

它可以设置在RenderContext中的值,然后在第二Dreamweaver模板进行检索。

拨打电话之前RenderComponentPresentation设置渲染上下文值如下:

@@SetRenderContextVariable("CSSClass","red")@@  

你需要有一个C#片段或TBB获得变量进行渲染上下文并在第二Dreamweaver模板添加到包。 一个例子是:

var renderContext = engine.PublishingContext.RenderContext;
foreach (string key in renderContext.ContextVariables.Keys)
{
    var value = renderContext.ContextVariables[key] as string;
    var item = package.CreateStringItem(ContentType.Text, value);
    package.PushItem("RenderContextVariable."+key, item);
}

然后,您应该能够使用标准Dreamweaver的符号包内访问的变量

@@RenderContextVariable.CSSClass@@

希望这可以帮助!



文章来源: Is there a way to pass a variable through when calling RenderComponentPresentation? [duplicate]