2012-05-03 11 views
11

Duplicar posibles:
Variable setting in Dreamweaver template in SDL Tridion¿Hay alguna forma de pasar una variable al llamar a RenderComponentPresentation?

Utilizamos RenderComponentPresentation (en Tridion 2009) para hacer enlaces internos y externos, de modo que la base es el código de una sola plantilla de Dreamweaver. Sería útil si pudiéramos pasar a través de una clase de CSS opcional para utilizar al procesar el enlace.

¿Alguna idea de cómo se podría hacer esto?

+0

Hola Puf, lo he intentado y no ayuda mi situación. Gracias de cualquier manera. – frontendzzzguy

+0

¿Esto es para SDL Tridion 2011 o 2009? Quizás puedas actualizar tu pregunta para reflejar eso. ¿Quizás también pueda explicar dónde se encuentran sus DWT? ¿Está tratando de pasar un valor de un DWT de diseño de página a un DWT de diseño de componente? –

Respuesta

16

Es posible establecer un valor en RenderContext y luego recuperarlo en la segunda plantilla de Dreamweaver.

Antes de llamar RenderComponentPresentation estableció un valor de contexto hacen de la siguiente manera:

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

Usted tendrá que tener un C# fragmento o TBB para obtener las variables del contexto rendir y añadirlos al paquete en la segunda Plantilla Dreamweaver. Un ejemplo sería:

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

A continuación, debería ser capaz de acceder a las variables dentro del paquete usando la notación estándar Dreamweaver

@@[email protected]@ 

Espero que esto ayude!

+0

Gracias Chris, voy a probar esto ahora y ver si funciona. – frontendzzzguy

+2

Si tiene acceso a los documentos de SDL Tridion, esto se detalla aquí http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/idheading-359879368 y está en el libro de cocina Tridion en http: // code.google.com/p/tridion-practice/wiki/BuiltInFunctionsForUseInHtmlTemplates –

Cuestiones relacionadas