2012-04-17 14 views
5

Domanda veloce. Sto creando un Template Building Block (TBB) che recupera i valori dello schema dei metadati dalla cartella principale dei componenti. Ad esempio, tutti i componenti elencati in questa cartella condivideranno lo stesso titolo, ma avranno contenuti diversi. Così, ho creato uno schema e l'ho allegato alla cartella principale. In questo modo, se voglio cambiare il titolo di tutti i miei componenti, tutto quello che devo fare è cambiare il valore dei metadati sulla cartella.Tridion 2009 - Recupera cartella principale del componente TCM

Ho questo funzionamento con la cartella principale TCM hard-coded, ma, ho bisogno di afferrarlo dinamicamente. Qualcuno sa come prendere il TCM della cartella principale?

Grazie per l'assistenza.

+1

"tutti i componenti elencati in questa cartella si condividono lo stesso titolo" Il titolo di ogni componente deve essere univoco all'interno della sua cartella, in modo che suona improbabile . Un uso comune è prefisso di componenti simili con la parte comune del titolo, ad es. "Prodotto A - Descrizione", "Prodotto A - Specifica", ecc. –

+0

Dato che stai citando un TBB, direi che "titolo" significa qualche markup in una presentazione di un componente? –

risposta

7

RepositoryLocalObjects hanno tutti una proprietà ".OrganizationalItem" che restituirà il contenitore per l'oggetto.

Qualcosa in questo senso dovrebbe iniziare:

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

Woot! Perfetto, quella prima linea era la chiave. Grazie per l'aiuto. È eccellente :) – Helldozer

Problemi correlati