問題

コンポーネントが sidekick に表示される方法は常に満たされていないので、制御することが望ましいといえます。

解決策

5.3以降、許可されているコンポーネントのリストはクライアント上でのみ計算されます。

各クライアント側コンポーネントも、セル検索パスを取得し、最終的に CQ.wcm.Cell を割り当てます。
許可されたコンポーネント配列は、1ページあたりにインスタンスを持つ CQ.wcm.ComponentList クラスで維持されます。
挿入ダイアログとサイドキックはそのオブジェクトから最終のコンポーネントリストを取得します。
コンポーネントのリストオブジェクトが、編集できるように許可されているコンポーネントのリストで更新される前に、傍受したりリストを動的に変更するために使用できる「updatecomponentlist」イベントを発生させます。
「updatecomponentlist」のリスナーは、コンテナコンポーネントの通常の editConfig のリスナーを使用して登録することができます。(例parsys):

/** * Is called before the {CQ.wcm.ComponentList} is updated.* @param this {CQ.wcm.EditBase} this editable * @param cell {CQ.wcm.Cell} the cell of this editable * @param allowed {Array} the preliminary list of allowed components * @param componentList {CQ.wcm.ComponentList} the component list object that will receive the list */ function MyHandler(cell, allowed, componentList) { // manipulate the 'allowed' array if needed } 

コンポーネントリストの「ランタイム」操作は現在サポートされていませんのでご注意ください。つまり、許可されているコンポーネントのリストがクライアント側の変更に依存している場合は、ダイアログには送信されません。

適用対象

CQ5.3

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー