2012-04-17 12 views
5

簡単な質問。私は、コンポーネントの親フォルダからメタデータのスキーマの値を取得するテンプレートビルディングブロック(TBB)を構築しています。たとえば、このフォルダにリストされているすべてのコンポーネントは同じタイトルを共有しますが、内容は異なります。だから、私はスキーマを作成し、それを親フォルダに添付しました。こうすることで、すべてのコンポーネントのタイトルを変更したい場合は、フォルダのメタデータ値を変更するだけです。Tridion 2009 - コンポーネントの親フォルダを取得TCM

これは親フォルダTCMでハードコードされていますが、これを動的に取得する必要があります。誰も親フォルダのTCMをつかむ方法を知っていますか?

ありがとうございました。

+1

それがそう聞こえるので、各コンポーネントのタイトルは、そのフォルダ内で一意でなければなりません「このフォルダに記載されているすべてのコンポーネントが同じタイトルを共有することになります」 。一般的な使用法は、類似の構成要素にタイトルの共通部分を付けることである。 "製品A - 説明"、 "製品A - 仕様"など –

+0

TBBについて言及しているので、「タイトル」はコンポーネントプレゼンテーションのマークアップを意味すると思いますか? –

答えて

7

RepositoryLocalObjectsにはすべてオブジェクトのコンテナを返す ".OrganizationalItem"プロパティがあります。

これらの線に沿って何かがあなたが始める必要があります。

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

Woot!完璧な、その最初の行が鍵だった。ご協力ありがとうございました。それは素晴らしいです。 :) – Helldozer

関連する問題