categories
ist die Liste der Bezeichner, unter denen eine clientlib veröffentlicht werden soll.
dependencies
sollten Ihre Seite verursachen zusätzliche Anfragen müssen andere clientlibs (extern "subscribe")
embed
sollte "Aggregat" die anderen clientlibs in den aktuellen clientlib (interne subscribe)
beide Eigenschaften kann mehrere Werte haben, und die CRXDE Lite-Schnittstelle ermöglicht es, die Reihenfolge der Elemente in der Werteliste zu ändern.
Gegeben Clientlibs:
- /etc/clientlibs/DEPA Kategorien = [ "DEPA"]
- /etc/clientlibs/DEPB Kategorien = [ "DEPB"]
- /etc/clientlibs/DEPC Kategorien = [ "DEPC"]
- /etc/clientlibs/USEA Kategorien = [ "USEA"], Abhängigkeiten = [ "DEPA", "DEPB"]
- /etc/clientlibs/Useb Kategorien = [ "Useb "], embed = [" depB "," depC "]
Wenn eine Seite verwendet "USEA" <cq:includeClientLib categories="useA"/>
, dann sollte die HTML haben Anfragen für DEPA, DEPB, USEA (über ihre entsprechenden URLs, dh /etc/clientlibs/depA.css
Wenn eine Seite "Useb" <cq:includeClientLib categories="useB"/>
verwendet, dann ist die HTML sollte habe nur eine Bitte um VerwendungB. Der Inhalt von /etc/clientlibs/useB.css
wäre die Verkettung von Inhalten von depB, depC, useB.
Der Bibliotheksmanager unter {localhost} /system/console/configMgr/com.day.cq.widget.impl.HtmlLibraryManagerImpl
verfügt über eine Debugkonfiguration, um festzustellen, ob die Anforderungen tatsächlich verkettet sind. Dies wird bei http://dev.day.com/docs/en/cq/current/deploying/configuring_osgi.html#par_variable_18 dokumentiert
mehrere Abhängigkeiten zu definieren (vorausgesetzt, Sie Maven verwenden aus Ihrem Dateisystem zu bauen und installieren in CQ5), der clientlibs Ordner wird eine Datei „.content.xml“, die das folgende Attribut benötigt:
dependencies="[depB,depC]"
Erstaunliche Erklärung! – Oliver
Ein Detail fehlt jedoch: Abhängigkeiten sind transitiv, Einbetten nicht. Beispiele: A hängt von B ab, in dem C -> C + B und A geladen sind. A bettet B, die von C abhängt -> B + A sind geladen, C ist nicht. Dies kann schwierig sein, wenn Sie einige CQ-Bibliotheken einbetten möchten (um eine einzelne JS anzufordern), und diese Bibliotheken hängen von anderen CQ-Bibliotheken ab. Sie müssen dann alle in der richtigen Reihenfolge einbetten. –
Ich sollte hinzufügen, dass 'Kategorien' dazu gedacht sind, weg von der Verzeichnisstruktur zu abstrahieren.Daher ist es NICHT hilfreich, Kategorienbeschriftungen zu erstellen, die die Ordner im Wesentlichen nachahmen. –