2016-10-26 2 views
1

AEM6.0 SP2를 사용하고 있습니다. 저작 대화 상자를 위해 필요한 author.css가 있습니다. 나는 템플릿 헤더에 clientlib을 포함시키고있다.런 모드 특정 clientlib을 만들 수 있습니까?

내 문제는 모든 템플릿 headlib에이 조건을 추가해야한다는 것입니다. 을 기반으로하는 실행 모드와 비슷한 방법으로 clientlib-author를 간단하게 만들 수 있으며 OTB는 모든 템플릿에서 명시 적 runmode 조건을 필요로하지 않고 게시시 라이브러리를 자동으로 제외합니다.

답변

0

맞춤 작성자 라이브러리를 사용할 위치에 따라 다르지만 페이지를 수정하지 않고도이를 수행 할 수있는 가장 간단한 방법은 제작 모드로로드 된 표준 AEM 라이브러리 중 하나를 라이브러리 카테고리로 사용하는 것입니다. 그래서 예를 들면 등 "cq.authoring.dialog", "granite.ui.foundation", "cq.authoring.editor", 같은 : 나는 도서관과 runmodes를 사용하는 시도하지 않은

<?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]" 
    /> 

하지만, 나는 이것이 가능하다고 생각하지 않는다. 대안으로 여러분은 자신의 jsp taglib을 작성하여 그러한 동작을 구현할 수 있습니다.

+0

네, 제 라이브러리를 저자로만 제한하는 데 도움이 될 것 같아요. 감사. –

2

나는 그렇게 생각하지 않는다. 수퍼 유형의 JSP에있는 코드 (한 번에 반복하지 말고 DRY)를 코드에 삽입 한 다음 상속하는 하위 템플릿이 다른 부분을 변경하도록 템플릿 상속을 구조화해야합니다.

+0

감사 @Shawn에 정의되지 않을 수 있습니다. 이것은베이스를 확장하고 반복되는 코드를 줄이는 템플릿을 재구성하는 즉각적인 다음 단계입니다. –

0

난 당신이 다음과 같은 방식으로 WCM 모드를 확인할 수 있습니다 같아요

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

유의하시기 바랍니다 CQ 개체가 게시

+0

기본 템플릿이없는 많은 격리 된 템플릿이 있기 때문에 제 문제는이 조건을 추가하고 싶지 않습니다. 그리고 실제로 CQ 객체를 게시 할 수 있습니다. –

관련 문제