現在、Dreamweaver テンプレートのビルディング ブロックに取り組んでおり、ページに SiteEdit を実装しています。
SDL Tridion 2011 SP1、Site Edit 2012、および Default Dream Weaver テンプレートを使用しています。
私のスキーマには、「Component Link」タイプの複数値フィールドがあります。私のメイン コンポーネント XML は次のようになります。
<Content xmlns="UUID">
<link xlink:type="simple" xlink:href="tcm:202-8121"
xmlns:xlink="http://www.w3.org/1999/xlink"></link>
<link xlink:type="simple" xlink:href="tcm:202-8122"
xmlns:xlink="http://www.w3.org/1999/xlink"></link>
</Content>
リンクされたコンポーネントの XML は次のようになります。
<Content xmlns="Some other UUID">
<text>Hi all</text>
</Content>
私の目的は、リンクされたコンポーネントのスキーマの名前を取得し、リンクされたコンポーネントのフィールドでもインライン編集を有効にすることです。URI を使用して、リンクされたコンポーネントのスキーマ用に別のコンポーネント テンプレートを作成しましたtcm:202-8142-32
。
このようにメイン コンポーネントの DWT TBB を作成しました。
<!-- TemplateBeginRepeat name="Fields.link" -->
<div>
(FieldPath=@@FieldPath@@, TemplateRepeatIndex=@@TemplateRepeatIndex@@)
</div>
<!-- Not able to get the schema name of the linked component -->
@@RenderComponentPresentation(link, "tcm:202-8142-32")@@
<!-- TemplateEndRepeat -->
コンポーネント リンク フィールド「リンク」をループできません。
次に、単一のコンポーネント リンクのみを許可するスキーマを変更しました。TBB が次のように記述されている場合、問題なく動作します。
@@RenderComponentPresentation(link, "tcm:202-8142-32")@@
複数のコンポーネント リンクをループすることに問題があることはわかっています。
複数のコンポーネント リンクをループして、リンクされた各コンポーネントのスキーマ名を取得する方法を提案してください。