Inhaltsfragmente, die Komponenten für die Wiedergabe konfigurieren

Letzte Aktualisierung: 2023-12-05

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
  • Außerdem müssen die erweiterten Dienste genutzt werden.

Adobe empfiehlt die Verwendung der Kernkomponenten.

VORSICHT
  • 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.

Definition erweiterter Services, die konfiguriert werden müssen

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

Die Konfiguration muss an den OSGi-Dienst gebunden sein Konfiguration der Inhaltsfragment-Komponente:

com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl

HINWEIS

Weitere Informationen finden Sie unter OSGi-Konfiguration.

Beispiel:

OSGi-Konfiguration, Konfiguration der Inhaltsfragment-Komponente

Die OSGi-Konfiguration lautet:

Bezeichnung OSGi-Konfiguration
Beschreibung
Ressourcentyp dam.cfm.component.resourceType Der zu registrierende Ressourcentyp; z. B.

core/wcm/components/contentfragment/v1/contentfragment

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:

  • all : zum Rendern aller Absätze
  • range : 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 oder 1-3 oder 1-3;6;7-8 oder *-3;5-*
    • - Bereichsanzeige
    • ; Listentrennzeichen
    • * Platzhalter
  • nur ausgewertet, wenn paragraphScope = range
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

Beispiel

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"

Auf dieser Seite