2015-09-16 27 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