2012-05-03 13 views
11

Eventuali duplicati:
Variable setting in Dreamweaver template in SDL TridionC'è un modo per passare una variabile attraverso quando si chiama RenderComponentPresentation?

Usiamo RenderComponentPresentation (su Tridion 2009) per rendere i collegamenti interni ed esterni in modo che il codice di base è in un solo modello di Dreamweaver. Sarebbe utile se potessimo passare attraverso una classe CSS opzionale da utilizzare durante il rendering del collegamento.

Qualche idea su come questo potrebbe essere fatto?

+0

Ciao Puf, l'ho provato e non aiuta la mia situazione. Grazie comunque. – frontendzzzguy

+0

È per SDL Tridion 2011 o 2009? Forse puoi aggiornare la tua domanda per riflettere questo. Forse puoi anche spiegare dove si trovano i tuoi DWT? Stai cercando di passare un valore da un DWT di layout di pagina a un DWT di layout di componenti? –

risposta

16

È possibile impostare un valore in RenderContext e quindi recuperarlo nel secondo modello di Dreamweaver.

Prima di chiamare RenderComponentPresentation impostare un valore di contesto di rendering come segue:

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

Avrete bisogno di avere un C# frammento o TBB per ottenere le variabili di fuori del contesto di rendering e aggiungerli al pacchetto nel secondo Modello di Dreamweaver. Un esempio potrebbe essere:

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); 
} 

si dovrebbe quindi essere in grado di accedere alle variabili all'interno del pacchetto utilizzando la notazione standard di Dreamweaver

@@[email protected]@ 

Spero che questo aiuti!

+0

Grazie Chris, ci proverò ora e vedrò se funziona. – frontendzzzguy

+2

Se si ha accesso ai documenti SDL Tridion, questo è dettagliato qui http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/idheading-359879368 e si trova nel Tridion Cookbook all'indirizzo http: // code.google.com/p/tridion-practice/wiki/BuiltInFunctionsForUseInHtmlTemplates –

Problemi correlati