AEM-Erweiterungen aem-extensions
Ähnlich wie bei den Apache Sling-Erweiterungen der HTL-Spezifikation bietet AEM einige zusätzliche Ausdrucksoptionen, die die Arbeit mit AEM Konzepten direkt in den HTL-Skripten etwas vereinfachen.
i18n i18n
Die gleichen drei zusätzlichen Optionen wie in Apache Sling können zusammen mit i18n
verwendet werden:
locale
hint
basename
In AEM wird die Internationalisierungsunterstützung für HTL jedoch mit Hilfe der API aus dem com.day.cq.i18n
-Paket implementiert.
data-sly-include
data-sly-include
In AEM kann data-sly-include
eine zusätzliche Option wcmmode
annehmen, die den WCM-Modus für das enthaltene Skript steuert. Die zulässigen Werte sind die Namen der verfügbaren Aufzählungskonstanten.
data-sly-resource
data-sly-resource
Zusätzlich zu Pfaden und Resources
kann das Blockelement data-sly-resource
auch mit Maps
oder Records
funktionieren. Bei beiden Ansätzen muss die Eigenschaft resourceName
String angegeben werden. Ihr Wert wird verwendet, um eine synthetische Ressource zu erstellen, die in den Rendering-Kontext aufgenommen wird. Die restlichen Eigenschaften von Record
oder Map
, die an data-sly-resource
übergeben wurden, werden als normale Resource
-Eigenschaften verwendet. Wenn die Eigenschaft sling:resourceType
in dieser Zuordnung fehlt, wird als Ressourcentyp entweder der Wert der resourceType
-Ausdrucksoption oder der Ressourcentyp der aktuellen Ressource, die das Rendering steuert, angenommen.
Unter Berücksichtigung der folgenden Zuordnungs-/Datensatz-Eigenschaften, die im Skriptbereich als map
verfügbar sind:
{
resourceName: "myText",
"sling:resourceType": "core/wcm/components/text/v2/text",
"text": "Hello World!"
}
Und bei der folgenden Aufschlüsselung:
<div class="outer" data-sly-resource="${map}"></div>
Folgende Ausgabe wird erwartet:
<div class="outer">
<div class="myText">
<div data-cmp-data-layer="{"text-e58d65c472":{"@type":"core/wcm/components/text/v2/text","xdm:text":"<p>Hello world!</p>"}}" id="text-e58d65c472" class="cmp-text">
<p>Hello world!</p>
</div>
</div>
</div>