¿Hay alguna forma de pasar una variable al llamar a RenderComponentPresentation? [duplicar]

Posible duplicado:
Configuración de variables en la plantilla de Dreamweaver en SDL Tridion

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

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

preguntado el 03 de mayo de 12 a las 13:05

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

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

1 Respuestas

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

Antes de llamar a RenderComponentPresentation, establezca un valor de contexto de representación de la siguiente manera:

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

Deberá tener un Fragmento de C# o TBB para sacar las variables del contexto de procesamiento y agregarlas al paquete en la segunda plantilla de 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);
}

Entonces debería poder acceder a las variables dentro del paquete utilizando la notación estándar de Dreamweaver.

@@RenderContextVariable.CSSClass@@

¡Espero que esto ayude!

contestado el 03 de mayo de 12 a las 23:05

Gracias Chris, probaré esto ahora y veré si funciona. - frontendzzzguy

Si tiene acceso a los documentos de SDL Tridion, esto se detalla aquí sdllivecontent.sdl.com/LiveContent/content/en-US/… y está en el Tridion Cookbook en code.google.com/p/tridion-practice/wiki/… - chris veranos

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.