2016-10-26 7 views
1

Я использую AEM6.0 SP2. У меня есть author.css, необходимый для разработки диалогов разработки. Я включаю clientlib в заголовок шаблона с условием.Возможно ли создать клиентский лимит runmode?

Моя проблема заключается в том, что я должен добавить это условие во все шаблоны headlib. Есть ли способ, аналогичный режиму работы osgi config, для простого создания clientlib-author и OTB автоматически исключает библиотеку при публикации без необходимости явного условия режима запуска для всех шаблонов.

ответ

0

Это зависит от того, где вы хотите использовать свою собственную библиотеку авторов, но самый простой способ выполнить это, не касаясь ваших страниц, - это просто использовать одну из стандартных библиотек AEM, загруженных в режиме создания в качестве категории для вашей библиотеки, таких как как "cq.authoring.dialog", "granite.ui.foundation", "cq.authoring.editor" и т.д. так, например:

<?xml version="1.0" encoding="UTF-8"?> 
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" 
    jcr:primaryType="cq:ClientLibraryFolder" 
    categories="[granite.ui.foundation]" 
    /> 

Я не пробовал использовать runmodes с библиотеками, но Я не думаю, что это возможно. Альтернативу вы можете написать свой собственный jsp taglib, где вы можете реализовать такое поведение.

+0

Да, я думаю, это поможет ограничить мою библиотеку только автором. Благодарю. –

2

Я так не считаю. Вы должны попытаться структурировать наследование шаблона, чтобы вы могли поместить код в одно место (Do not Repeat Yourself - DRY), находящееся в JSP супер-типа, а затем наследующие дочерние шаблоны меняют части, которые отличаются.

+0

Спасибо @Shawn. Это мои ближайшие шаги по реструктуризации шаблонов, расширяющих базу и уменьшающих повторяющиеся коды. –

0

Я думаю, вы можете проверить свой режим WCM следующим образом:

if (CQ.WCM.getMode() == 'edit') { 
    include your lib here 
    ......... 
} 

Пожалуйста, обратите внимание, CQ объекта может быть определен на публикацию

+0

Моя проблема: я не хочу добавлять это условие, так как у меня довольно много изолированных шаблонов без базового шаблона. И объект CQ действительно доступен в публикации –