在CQ的cq:IncludeClientLib中,主题和类别属性之间有什么区别?

时间:2014-02-18 00:44:53

标签: cq5 jcr aem

根据docs

类别

  

逗号分隔的客户端lib类别列表。这将包括给定类别的所有Javascript和CSS库。主题名称是从请求中提取的。   相当于:com.day.cq.widget.HtmlLibraryManager#writeIncludes

主题

  

逗号分隔的客户端lib类别列表。这将包括给定类别的所有主题相关库(CSS和JS)。主题名称是从请求中提取的。相当于:com.day.cq.widget.HtmlLibraryManager#writeThemeInclude

我是CQ的新手,这对我来说有点模糊。这些属性之间有什么区别?

1 个答案:

答案 0 :(得分:3)

假设您在JCR中有以下内容:   - / etc / clientlibs / grid   - / etc / clientlibs / forms   - / etc / clientlibs / tables   - / etc / clientlibs / tables / responsive   - / etc / clientlibs / tables / inverse

类别应该提供不相关的客户端库列表。例如<cq:includeClientLib categories="grid, forms, tables" />

主题应引入不同的相关客户端库。或者可能更好地描述为子类别。例如,<cq:includeClientLib categories="tables" themes="inverse, responsive" />

不同之处在于主题属于某个类别。 tables可以包含“子类别”(或主题),但您有充分的理由将其分解。您希望在所有网页上使用常规tables类别。设计,但某些页面需要inverse显示表格。或者只有某些页面包含responsive个表。

我认为CQ5.5在代码中有更好的例子,但CQ5.6似乎没有太多的OOB。