11

重複の可能性:
SDL Tridion の Dreamweaver テンプレートの変数設定

RenderComponentPresentation(Tridion 2009 で) 内部リンクと外部リンクをレンダリングして、コード ベースが 1 つの Dreamweaver テンプレートだけに含まれるようにします。リンクをレンダリングするときに使用するオプションの CSS クラスを通過できると便利です。

これを行う方法はありますか?

4

1 に答える 1

16

RenderContext で値を設定してから、2 番目の Dreamweaver テンプレートで値を取得することができます。

RenderComponentPresentation を呼び出す前に、レンダー コンテキスト値を次のように設定します。

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

レンダー コンテキストから変数を取得し、2 番目の Dreamweaver テンプレートのパッケージに追加するには、C# フラグメントまたは TBB が必要です。例は次のとおりです。

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@@

お役に立てれば!

于 2012-05-03T12:52:53.273 に答える