Problème

La façon dont les composants sont répertoriés dans le sidekick n’est pas toujours satisfaisante et il serait donc souhaitable de la contrôler.

Résolution

Depuis la version 5.3, la liste des composants autorisés est calculée uniquement sur le client.

Chaque composant côté client obtient également un chemin de recherche de cellule et finalement un CQ.wcm.Cell affecté.
Le choix des composants autorisés est conservé dans une classe CQ.wcm.ComponentList avec une instance par page.
Les boîtes de dialogue d'insertion et le sidekick obtiennent la liste des composant à partir de cet objet.
Avant que la liste des composants objet soit mise à jour avec la liste des composants modifiables, un événement «updatecomponentlist» est lancé, qui peut être utilisé pour intercepter et modifier la liste de façon dynamique.
L'écouteur du «updatecomponentlist» peut être enregistré avec les écouteurs normaux editConfig sur le composant de conteneur (par exemple. 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 } 

Notez que les manipulations d'« exécution » de la liste des composants ne sont pas prises en charge. c’est-à-dire que si la liste des composants autorisés dépend des modifications côté client, il est impossible de les propager dans les boîtes de dialogue.

S’applique à

CQ5.3

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne