2012-04-17 7 views
5

Schnelle Frage. Ich erstelle einen Template Building Block (TBB), der Metadatenschemawerte aus dem übergeordneten Ordner der Komponenten abruft. Zum Beispiel haben alle Komponenten in diesem Ordner den gleichen Titel, aber einen anderen Inhalt. Also habe ich ein Schema erstellt und an den übergeordneten Ordner angehängt. Auf diese Weise, wenn ich den Titel aller meiner Komponenten ändern möchte, muss ich nur den Metadatenwert für den Ordner ändern.Tridion 2009 - Abrufen des übergeordneten Ordners der Komponente TCM

Ich habe dies mit dem übergeordneten Ordner TCM hart-codiert, aber ich muss das dynamisch greifen. Weiß jemand, wie man den TCM des Elternordners ergreift?

Vielen Dank für Ihre Unterstützung.

+1

Der Titel jeder Komponente „alle in diesem Ordner aufgeführten Komponenten den gleichen Titel teilen“ müssen in ihrem Ordner eindeutig sein, so dass unwahrscheinlich klingt . Eine übliche Verwendung besteht darin, ähnliche Komponenten mit dem gemeinsamen Teil des Titels zu versehen, z. "Produkt A - Beschreibung", "Produkt A - Spezifikation" usw. –

+0

Da Sie eine TBB erwähnen, würde ich raten "Titel" bedeutet etwas Markup in einer Komponentenpräsentation? –

Antwort

7

RepositoryLocalObjects haben alle die Eigenschaft ".OrganizationalItem", die den Container für das Objekt zurückgibt.

Etwas in dieser Richtung sollten Sie begonnen:

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

Woot! Perfekt, diese erste Zeile war der Schlüssel. Danke für Ihre Hilfe. Das ist ausgezeichnet. :) – Helldozer

Verwandte Themen