AEM 擴充功能 aem-extensions

與 HTL 規格的 Apache Sling 擴充功能相似,AEM 提供其他的運算式選項,使得直接在 HTL 指令碼內使用 AEM 概念運作更容易。

i18n i18n

與 Apache Sling 相同的三個其他選項可以搭配 i18n 一起使用:

  • locale
  • hint
  • basename

不過,在 AEM 中,要實施 HTL 的國際化支援,需要 com.day.cq.i18n 套件的 API 提供協助。

data-sly-include data-sly-include

在 AEM,data-sly-include 可以選擇一個其他wcmmode選項,用來控制所包含指令碼的 WCM 模式。 允許的值包括可用列舉常數的名稱。

data-sly-resource data-sly-resource

除了路徑和 Resources 以外,data-sly-resource 區塊元素也可以搭配 MapsRecords 運作。使用兩種方法都必須提供 resourceName 字串屬性。 我們使用它的值來建立一個 Synthetic Resource 並把它包含到演算格式文法中。其餘來自 RecordMap 的屬性若已傳到 data-sly-resource,則會當作正常的 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>
recommendation-more-help
86859df1-0285-4512-b293-0ef9cbea5ee8