В CQ cq:IncludeClientLib, в чем разница между атрибутами темы и категорий?

Согласно документам:

категории

Список категорий клиентских библиотек, разделенных запятыми. Это будет включать все библиотеки Javascript и CSS для заданных категорий. Название темы извлекается из запроса. Эквивалент: com.day.cq.widget.HtmlLibraryManager#writeIncludes

тема

Список категорий клиентских библиотек, разделенных запятыми. Это будет включать все связанные с темой библиотеки (как CSS, так и JS) для заданных категорий. Название темы извлекается из запроса. Эквивалент: com.day.cq.widget.HtmlLibraryManager#writeThemeInclude

Я новичок в CQ, и мне это кажется немного расплывчатым. В чем разница между этими атрибутами?


person TheFooProgrammer    schedule 18.02.2014    source источник


Ответы (1)


Предположим, что в 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.

person IT Gumby    schedule 04.03.2014