2015-09-16 52 views
0

我最近才瞭解AEM中的CQ.Ext對象,以及它如何在作者模式下使用,而不是在發佈模式下。什麼是AEM中的CQ.Ext對象

我的第一個猜測是它與extjs小部件庫有關,但確切地說,什麼是CQ.Ext對象,它有什麼作用。 此外,作爲作者和發佈是運行模式,如果我在任何自定義runmode中啓動aem,這個CQ.Ext對象是否可用於我。如果不是,我將如何使它在我的自定義runmode中可用。

在此先感謝。

回答

2

它作爲客戶端庫的一部分被引入。在編寫使用基礎AEM庫的代碼時,如果頁面以發佈模式加載或不加載,那麼這些核心JSP中的某些代碼會將不同的客戶端庫拉到頁面上。所以真的,關鍵是如果/需要使用它時,將其包含在內。以下是基礎庫JSP中的一些示例代碼,顯示瞭如何根據WCM模式有條件地包含客戶端庫。運行作爲一個出版商的AEM實例將有一個禁用WCM模式,而一個實例作爲一個作家運行後會碰到這樣的編輯:

if (WCMMode.fromRequest(request) != WCMMode.DISABLED) { 
     String dlgPath = null; 
     if (editContext != null && editContext.getComponent() != null) { 
      dlgPath = editContext.getComponent().getDialogPath(); 
     } 
     if (AuthoringUIMode.fromRequest(slingRequest) == AuthoringUIMode.TOUCH) { 
      %><cq:includeClientLib categories="cq.authoring.page" /><% 
     } else if (AuthoringUIMode.fromRequest(slingRequest) == AuthoringUIMode.CLASSIC) { 
      %><cq:includeClientLib categories="cq.wcm.edit" /> 
... 

看看的的Geometrix頁面,按照它們包含的JSP。他們將帶您到其他JSP,並沿着鏈的某個位置,您將看到基礎JSP在客戶端庫中的位置取決於WCM模式。

還檢查了這個鏈接,在AEM實例來了解客戶端庫的依賴關係是如何導致被列入其他客戶端庫時依賴庫包含在您的網頁:/庫/花崗岩/ UI /內容/dumplibs.html