AEM 확장 기능

HTL 사양의 Apache Sling 확장 기능과 마찬가지로 AEM은 HTL 스크립트에서 직접 AEM 개념을 사용하여 더 간편하게 작업할 수 있도록 하는 몇 가지 추가 표현식 옵션을 제공합니다.

i18n

Apache Sling과 동일한 세 가지 추가 옵션i18n과 함께 사용할 수 있습니다.

  • locale
  • hint
  • basename

그러나 AEM에서는 HTL에 대한 국제화 지원com.day.cq.i18n 패키지의 API를 통해 구현됩니다.

data-sly-include

AEM에서 data-sly-include는 포함된 스크립트에 대한 WCM 모드를 제어하는 추가 wcmmode 옵션을 사용할 수 있습니다. 허용된 값은 사용할 수 있는 열거형 상수의 이름입니다.

data-sly-resource

경로 및 Resources 이외에 data-sly-resource 블록 요소는 Maps 또는 Records와 함께 작동할 수도 있습니다. 두 가지 접근 방식을 통해 resourceName 스트링 속성을 제공해야 합니다. 해당 값은 렌더링 컨텍스트에 포함될 합성 리소스를 만드는 데 사용됩니다. data-sly-resource로 전달된 Record 또는 Map의 나머지 속성은 기본 Resource 속성으로 사용됩니다. 이 맵에서 sling:resourceType 속성이 누락된 경우 리소스 유형은 resourceType 표현식 옵션 값 또는 렌더링을 실행하는 현재 리소스의 리소스 유형으로 간주됩니다.

스크립트 범위에서 map으로 사용할 수 있는 다음 맵/레코드 속성

{
    resourceName: "myText",
    "sling:resourceType": "core/wcm/components/text/v2/text",
    "text": "Hello World!"
}

및 다음 마크업을 감안할 때

<div class="outer" data-sly-resource="${map}"></div>

예상되는 출력은 다음과 같습니다.

<div class="outer">
    <div class="myText">
        <div data-cmp-data-layer="{&quot;text-e58d65c472&quot;:{&quot;@type&quot;:&quot;core/wcm/components/text/v2/text&quot;,&quot;xdm:text&quot;:&quot;<p>Hello world!</p>&quot;}}" id="text-e58d65c472" class="cmp-text">
            <p>Hello world!</p>
        </div>
  </div>
</div>

이 페이지에서는