Inhaltsfragmente, die Komponenten für die Wiedergabe konfigurieren content-fragments-configuring-components-for-rendering
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:
- Ihre eigene auf einem Inhaltsfragment basierende Komponente bereitstellen
- und die erweiterten Services verwenden müssen.
Adobe empfiehlt, die Kernkomponenten zu verwenden.
-
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.
Definition erweiterter Services, die konfiguriert werden müssen definition-of-advanced-services-that-need-configuration
Die Services, die die Registrierung einer Komponente erfordern:
- das korrekte Bestimmen von Abhängigkeiten während der Veröffentlichung (d. h. sicherstellen, dass Fragmente und Modelle automatisch mit einer Seite veröffentlicht werden können, wenn sie sich seit der letzten Veröffentlichung geändert haben)
- unterstützen Inhaltsfragmente in der Volltextsuche,
- verwalten/bearbeiten Zwischeninhalte,
- verwalten/bearbeiten gemischte Medien-Assets,
- Dispatcher-Flush für referenzierte Fragmente (wenn eine Seite, die ein Fragment enthält, erneut veröffentlicht wird),
- verwenden absatzbasiertes Rendering.
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.
OSGi-Service – Konfiguration der Inhaltsfragment-Komponente osgi-service-content-fragment-component-configuration
Die Konfiguration muss an den OSGi-Service zur Konfiguration der Inhaltsfragment-Komponente gebunden sein:
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
Zum Beispiel:
Die OSGi-Konfiguration lautet:
dam.cfm.component.resourceType
Der zu registrierende Ressourcentyp; z. B.
core/wcm/components/contentfragment/v1/contentfragment
dam.cfm.component.fileReferenceProp
fragmentPath
oder fileReference
dam.cfm.component.elementsProp
elementName
dam.cfm.component.variationProp
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.
paragraphScope
Eine Zeichenfolgeneigenschaft, die definiert, wie Absätze ausgegeben werden sollen, wenn sie sich im Rendermodus für einzelne Elemente befinden.
Werte:
all
: zum Rendern aller Absätzerange
: zum Rendern des Bereichs der Absätze, die hier angegeben sind:paragraphRange
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:
-
1
oder1-3
oder1-3;6;7-8
oder*-3;5-*
-
Bereichsanzeige;
Listentrennzeichen*
Platzhalter
-
nur ausgewertet, wenn
paragraphScope
=range
paragraphHeadings
h1
, h2
, h3
) als Absätze (true
) oder nicht als Absätze (false
) gezählt werden sollenBeispiel example
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"