今回は SXA Component Wizard の Behevior の中で最後の項目、Dynamic Placeholders の項目に関して確認をしていきます。
Rendering の設定を確認
このチェックをした場合、設定の違いとしては Experience Accelerator の設定の Other Properties に対して IsRenderingsWithDynamicPlaceholders が追加されて true になっている状況です。
この IsRenderingsWithDynamicPlaceholders はどういう役割をするのでしょうか?これは、コンポーネントが複数のプレースホルダーを含む場合や、プレースホルダー名が動的に生成される場合に使用されます。
通常はプレースホルダーは固定の名前を利用することになるのですが、ダイナミックプレースホルダーを利用することで、動的に重複しないプレースホルダーの番号を振って割り当てます。
今回作成をしたコンポーネントを2つ配置して、その2つの確認をすると以下のようになっています。
実際に同じページでコンポーネントを配置して、それぞれ個別のデータソースを参照する際には、この IsRenderingsWithDynamicPlaceholders は有効にする必要があります。
- Media
- Link List
- Promo
- Rich Text
- Column Splitter
- Container
- Row Splitter
Page Content と Navigation 以外はこの項目を有効にしているのが分かります。
まとめ
今回は短い説明でしたが、とはいえ重要な IsRenderingsWithDynamicPlaceholders の動作を紹介しました。コンポーネントを作成する際には、この機能を有効にするべきかどうかは意識をしましょう。アイテムのデータを持つタイプは、必須と考えてもいいかもしれません。