CQ5.3: So definieren Sie die Komponentenliste dynamisch für das Sidekick- und das Einfügen-Dialogfeld

Problem

Die Art und Weise, wie Komponenten im Sidekick aufgeführt sind, ist nicht immer angemessen und es empfiehlt sich, Kontrolle darüber zu haben.

Lösung

Seit 5.3 wird die Liste der erlaubten Komponenten nur auf dem Client berechnet.

Jede clientseitige Komponente erhält ebenfalls einen Zellensuchpfad und bekommt eventuell eine CQ.wcm.-Zelle zugewiesen.
Das Array der erlaubten Komponenten wird in einer CQ.wcm.ComponentList-Klasse gespeichert, von der es eine Instanz pro Seite gibt.
Die Einfüge-Dialogfelder und der Sidekick erhalten die endgültige Liste der Komponenten von diesem Objekt.
Bevor das Komponentenlistenobjekt mit der Liste der zulässigen Komponenten der bearbeitbaren Komponente aktualisiert wird, wird ein Ereignis „updatecomponentlist“ ausgelöst, mit dem die Liste dynamisch abgefangen und geändert werden kann.
Der Listener „updatecomponentlist“ kann mit den normalen Listenern „editConfig“ der Container-Komponente (z. B. 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 } 

Beachten Sie bitte, dass „runtime“-Manipulationen der Komponentenliste derzeit nicht unterstützt sind. Wenn beispielsweise die Liste zugelassener Komponenten von clientseitigen Änderungen abhängig ist, kann dies nicht an die Dialogfelder weitergegeben werden.

Gilt für

CQ5.3

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online