Es gibt mehrere erweiterte Services zum Rendern von Inhaltsfragmenten. Um diese Services zu verwenden, müssen sich die Ressourcentypen dieser Komponenten dem Inhaltsfragmente-Framework bekannt machen.
Dies erfolgt durch die Konfiguration von OSGi-Service – Konfiguration der Inhaltsfragment-Komponente.
Diese Informationen sind erforderlich, wenn Sie:
Adobe empfiehlt die Verwendung der Kernkomponenten.
Wenn Sie die unten beschriebenen erweiterten Services nicht benötigen, können Sie diese Konfiguration ignorieren.
Wenn Sie die vordefinierte(n) Komponente(n) erweitern oder verwenden, wird eine Änderung der OSGi-Konfiguration nicht empfohlen.
Sie können eine Komponente von Grund auf neu schreiben, die nur die Inhaltsfragmente-API verwendet, ohne die erweiterten Services zu nutzen. In einem solchen Fall müssen Sie Ihre Komponente jedoch so entwickeln, dass sie die entsprechende Verarbeitung übernimmt.
Es wird daher empfohlen, die Kernkomponenten zu verwenden.
Die Services, die die Registrierung einer Komponente erfordern:
Wenn Sie eine oder mehrere dieser Funktionen benötigen, ist es (in der Regel) einfacher, die vordefinierten erweiterten Services zu verwenden, anstatt sie von Grund auf neu zu entwickeln.
Die Konfiguration muss an den OSGi-Dienst gebunden sein Konfiguration der Inhaltsfragment-Komponente:
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
Weitere Informationen finden Sie unter OSGi-Konfiguration.
Beispiel:
Die OSGi-Konfiguration lautet:
Bezeichnung | OSGi-Konfiguration |
Beschreibung |
Ressourcentyp | dam.cfm.component.resourceType |
Der zu registrierende Ressourcentyp; z. B.
|
Verweiseigenschaft | dam.cfm.component.fileReferenceProp |
Der Name der Eigenschaft, die den Verweis auf das Fragment enthält; z. B. fragmentPath oder fileReference |
Elementeigenschaft | dam.cfm.component.elementsProp |
Der Name der Eigenschaft, die die Namen der zu rendernden Elemente enthält; z. B.elementName |
Varianteneigenschaft |
dam.cfm.component.variationProp |
Der Name der Eigenschaft, die den Namen der zu rendernden Variante enthält; z. B.variationName |
Für einige Funktionen muss Ihre Komponente vordefinierte Konventionen einhalten. In der folgenden Tabelle sind die Eigenschaften aufgeführt, die für jeden Absatz (d. h. jcr:paragraph
für jede Komponenteninstanz) durch Ihre Komponente definiert werden müssen, damit die Services sie korrekt erkennen und verarbeiten können.
Eigenschaftsname | Beschreibung |
paragraphScope |
Eine Zeichenfolgeneigenschaft, die definiert, wie Absätze ausgegeben werden sollen, wenn sie sich im Rendermodus für einzelne Elemente befinden. Werte:
|
paragraphRange |
Eine Zeichenfolgeneigenschaft, die den Bereich der Absätze definiert, die ausgegeben werden sollen, wenn sie sich im Rendermodus für einzelne Elemente befinden. Format:
|
paragraphHeadings |
Eine boolesche Eigenschaft, die definiert, ob Überschriften (z. B. h1 , h2 , h3 ) als Absätze (true ) oder nicht als Absätze (false ) gezählt werden sollen |
Sehen Sie sich folgendes Beispiel (in einer vordefinierten AEM-Instanz) an:
/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config
Es umfasst:
dam.cfm.component.resourceType="core/wcm/components/contentfragment/v1/contentfragment"
dam.cfm.component.fileReferenceProp="fragmentPath"
dam.cfm.component.elementsProp="elementName"
dam.cfm.component.variationProp="variationName"