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
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?