AEM-Erweiterungen

Ähnlich wie die Apache Sling-Erweiterungen der HTL-Spezifikation bietet AEM einige zusätzliche Ausdrucksoptionen, die die Arbeit mit AEM-Konzepten direkt in den HTL-Skripten etwas erleichtern.

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

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

Zusätzlich zu Pfaden und Resources kann das data-sly-resource-Blockelement auch mit Maps oder Records arbeiten. Bei beiden Ansätzen muss die Eigenschaft von resourceName als Zeichenfolge angegeben werden. Sein Wert wird verwendet, um eine synthetische Ressource zu erstellen, die in den Rendering-Kontext aufgenommen wird. Der Rest der Eigenschaften von Record oder Map, die an data-sly-resource übergeben wurden, werden als normale Resource-Eigenschaften verwendet. Wenn die sling:resourceType-Eigenschaft 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="{&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>

Auf dieser Seite