次のように、DWT テンプレート ビルディング ブロック (TBB) の配列をループまたは反復処理できることを理解しています。
<!-- TemplateBeginRepeat name="array_name" -->
<!-- template logic -->
<!-- TemplateEndRepeat -->
ドキュメントには、定義済みのパッケージ アイテムとその使用方法が記載されています。
要約すると、次を使用できます。
Componentコンポーネントまたはコンポーネント プレゼンテーションを反復するときに現在のコンポーネントを参照するComponentTemplateコンポーネント プレゼンテーションを反復処理するときに現在のコンポーネント テンプレートを参照する (これはページ レベルになります)Fieldフィールドと複数値フィールドを反復処理するときに現在のフィールドを参照します。FieldPath繰り返しアイテムへのフルパスを取得します。The Tridion Practice CookbookTemplateRepeatIndexに見られるように、ネストされたループ内で使用する場合に便利です。TemplateRepeatIndex、ゼロベースのループカウント。
コンポーネント配列ループ内の特定のコンポーネントでネストされたループを実行したり、複数値フィールドを反復するときに特定のフィールド名を条件付きでチェックしたりできます。Fields
私は、DWT の構文をネストすることによる二重ルックアップを見てきました (たとえば@@Image_${TemplateRepeatIndex}@@ 、Yet Another Tridion ブログ で説明されているように)。
質問
確かに、これらは複合テンプレートのアイテムまたは配列/コレクションPackageですよね (デフォルトでそこにあるか、コードによって配置されています)?
パッケージ内の個別のアイテムを「反復」することはできますか?
たとえば、 に個々のコンポーネントがある場合、 のPackageようなものでそれらを「反復」でき@@Component${TemplateRepeatIndex}@@ますか?
- コンポーネント1
- コンポーネント 2
- コンポーネント3
loop 内でそのようなアイテムを参照できることがわかりましたが、私が見たすべてのことは、次のことは不可能であることを示唆しています:
<!-- TemplateBeginRepeat name="@@Component${TemplateRepeatIndex}@@" -->
<!-- do something with @@Component${TemplateRepeatIndex}@@ -->
<!-- TemplateEndRepeat -->