tridion

tridion - Acceda a los campos de un componente desde un desplegador personalizado



(2)

Estoy intentando crear un implementador personalizado en Tridion 2011 SP1 que pueda indexar un componente a una instancia de solr una vez publicado. Todo funciona bien, pero he encontrado un pequeño problema con la forma en que indexa los campos de los componentes.

Puedo acceder bien a los campos de metadatos utilizando el método Component.getCustomMeta () y analizando el XML. Sin embargo, el acceso a los campos normales no parece ser posible sin leer el archivo que se está imprimiendo y analizar la salida. Esto no es del todo factible, ya que el marcado puede cambiar y parece ser un largo camino para hacer lo que debería (con suerte) ser algo simple.

He tenido una red de arrastre a través de los documentos y no parece haber nada disponible para obtener los valores de campo, así que ¿estoy perdido y necesitaré analizar la salida o me falta algo en algún lugar?


Hemos hecho una solución alternativa para lograr el requisito similar. Un aspecto negativo de la implementación es la representación adicional de las presentaciones de componentes en XML y la duplicación del almacenamiento xml en el intermediario.

Esto es lo que hemos hecho:

  1. Creó un CT dinámico (representación XML de contenido) GetComponentAsXML y se asignó a todos los esquemas
  2. Todas las plantillas de página tienen un TBB de C # que busca el contenido que necesitamos para enviar a SOLR
  3. C # TBB realiza RenderComponentPresentation con el Dynamic CT GetComponentAsXML, esto empuja el XML (engine.RenderComponentPresentation (component.Id, componentTemplateURI)
  4. Deployer ahora obtiene el contenido en formato xml, además del otro tipo de presentaciones de componentes (como ascx, emebedded en la página, etc.)

Espero que esta información ayude.


Los campos de contenido no se exponen como tales en el lado de la entrega, el contenido se expone como, no sorprendentemente, "contenido".

Si realmente necesita los campos, necesita:

  1. Produzca una salida "analizable" para sus presentaciones de componentes
  2. Analizar las presentaciones de los componentes a medida que se publican.

Mire implementaciones como DD4T para enfoques similares.

En resumen, no puede hacerlo porque Tridion no lo expone fuera de la caja. La única forma de hacerlo es cambiando el formato de salida del contenido a través de una plantilla.