2012-04-17 9 views
5

Pregunta rápida. Estoy construyendo un Building Building Block (TBB) que recupera los valores del esquema de metadatos de la carpeta principal de los componentes. Por ejemplo, todos los componentes enumerados en esta carpeta compartirán el mismo título, pero tienen contenido diferente. Entonces, creé un esquema y lo adjunté a la carpeta principal. De esta forma, si quiero cambiar el título de todos mis componentes, todo lo que tengo que hacer es cambiar el valor de los metadatos en la carpeta.Tridion 2009 - Recuperar carpeta principal del componente TCM

Tengo esto trabajando con la carpeta principal TCM codificada, pero, tengo que agarrar esto dinámicamente. ¿Alguien sabe cómo tomar el TCM de la carpeta principal?

Gracias por su ayuda.

+1

"todos los componentes enumerados en esta carpeta compartirán el mismo título" El título de cada componente debe ser único dentro de su carpeta, por lo que suena poco probable . Un uso común es prefijar componentes similares con la parte común del título, p. "Producto A - Descripción", "Producto A - Especificación", etc. –

+0

Dado que está mencionando un TBB, ¿supongo que "título" significa un marcado en una presentación de componente? –

Respuesta

7

RepositoryLocalObjects tienen una propiedad ".OrganizationalItem" que devolverá el contenedor para el objeto.

algo en este sentido debería empezar:

Component component = (Component)engine.GetObject(package.GetByName(Package.ComponentName)); 
Folder parent = (Folder)component.OrganizationalItem; 
ItemFields folderFields = new ItemFields(parent.Metadata, parent.MetadataSchema); 
+0

¡Woot! Perfecto, esa primera línea fue la clave. Gracias por tu ayuda. Eso es excelente. :) – Helldozer

Cuestiones relacionadas