2012-05-03 9 views
11

可能性の重複:私たちは、コードベースが一つだけDreamweaverテンプレートにあるように、内部および外部リンクをレンダリングする(Tridionの2009)RenderComponentPresentationを使用
Variable setting in Dreamweaver template in SDL TridionRenderComponentPresentationを呼び出すときに変数を渡す方法はありますか?

。リンクをレンダリングするときに使用するオプションのCSSクラスを渡すことができれば役に立ちます。

どのようにこれを行うことができますか?

+0

こんにちはPuf、私はそれを試みたと私の状況を助けることはありません。とにかくありがとう。 – frontendzzzguy

+0

これはSDL Tridion 2011または2009の場合ですか?おそらく、それを反映するためにあなたの質問を更新することができます。 DWTがどこにあるのかを説明することもできます。あなたは、ページレイアウトDWTからコンポーネントレイアウトDWTに値を渡そうとしていますか? –

答えて

16

RenderContextで値を設定してから、2番目の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の表記

@@[email protected]@ 

・ホープこのことができますを使用してパッケージ内の変数にアクセスすることができるはず!

+0

クリスおかげで、私は今これを試して、それが動作するかどうかを確認します。 – frontendzzzguy

+2

SDL Tridionのドキュメントにアクセスできる場合は、http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/idheading-359879368に詳細があり、http://のTridion Cookbookにありますコードを使ってください。 –

関連する問題