Show Menu
THEMEN×

Komponenten für Inhaltsfragmente

Komponenten für die Fragmentbearbeitung

Es wird nicht empfohlen, die im Fragmenteditor verwendeten Komponenten zu erweitern oder zu ändern, da sie noch geändert werden können.

Komponenten für die Seitenbearbeitung

Derzeit wird die Kernkomponente für Inhaltsfragmente dafür empfohlen. Weitere Informationen finden Sie unter Entwickeln von Kernkomponenten .
In diesem Abschnitt wird die ursprüngliche Komponente, die zur Verwendung mit Inhaltsfragmenten geliefert wird ( Inhaltsfragment in der Gruppe Allgemein ), beschrieben.
Adobe Experience Manager (AEM)-Inhaltsfragmente werden als seitenunabhängige Assets erstellt und verwaltet . Sie ermöglichen es Ihnen, kanalneutrale Inhalte zusammen mit (möglicherweise kanalspezifischen) Varianten zu erstellen. Sie können diese Fragmente und ihre Varianten bei der Erstellung Ihrer Inhaltsseiten verwenden . You can also use an existing content fragment asset by dragging it from the asset browser to the page (as for other asset based components, such as the foundation component Image). Die vorkonfigurierte Inhaltsfragmentkomponente zeigt nur ein Element des referenzierten Inhaltsfragments an. Using the component dialog you can define the element, variation and range of fragment paragraphs that you want to display on the page.
Diese Inhaltsfragmentkomponente wurde in AEM 6.2 als erweiterte Version der Artikelkomponente eingeführt, die als veraltet gilt.
Inhaltsfragmente werden in der klassischen Benutzeroberfläche nicht unterstützt.

Definition

Die Inhaltsfragment komponente wird verwendet, um einen Verweis auf ein Inhaltsfragment-Asset zu halten (effektiv erweiterte Text-Assets). Der Ressourcentyp für das Inhaltsfragment ist:
dam/cfm/components/contentfragment/contentfragment
Die Referenz ist in der Eigenschaft definiert:
fileReference
Nur der Editor der Touch-optimierten Benutzeroberfläche unterstützt Inhaltsfragmentkomponenten, einschließlich der Client-Bibliothek, vollständig:
cq.authoring.editor.plugin.cfm
Diese Bibliothek fügt dem Editor spezielle Funktionen für Inhaltsfragmente hinzu. Beispielsweise sind Unterstützung für das Hinzufügen und Konfigurieren von Inhaltsfragmenten auf der Seite, die Möglichkeit zum Suchen nach Inhaltsfragment-Assets im Asset-Browser und für den zugehörigen Inhalt im Seitenbereich verfügbar.

Übergangsinhalte

Mit der Inhaltsfragmentkomponente können Sie zusätzliche Komponenten zwischen den verschiedenen Absätzen des angezeigten Elements einfügen. Grundsätzlich besteht das angezeigte Element aus verschiedenen Absätzen (jeder Absatz ist durch einen Wagenrücklauf gekennzeichnet). Zwischen jedem dieser Absätze können Sie Inhalte mit anderen Komponenten einfügen.
Aus technischer Sicht ist jeder Absatz des angezeigten Elements* *in seinen eigenen Parsys enthalten, und jede Komponente, die Sie dazwischen einfügen, wird (unter der Haube) in die Parsys eingefügt.
Mit anderen Worten, wenn die Instanz der Inhaltsfragmentkomponente aus drei Absätzen besteht, hat die Komponente drei verschiedene Absatzsysteme im Repository. Der gesamte Übergangsinhalt, der dem Inhaltsfragment hinzugefügt wird, befindet sich tatsächlich innerhalb dieser Absatzsysteme.
Im Repository wird der Übergangsinhalt relativ zu seiner Position innerhalb der gesamten Absatzstruktur gespeichert, d. h. er ist nicht an den tatsächlichen Absatzinhalt angehängt.
Um dies zu veranschaulichen, lassen Sie uns Folgendes annehmen:
  • Eine Instanz eines Inhaltsfragments, das aus drei Absätzen besteht
  • Und einige Inhalte wurden bereits nach dem zweiten Absatz eingefügt
    • Dies bedeutet, dass der Inhalt im zweiten Absatzsystem gespeichert wird.
Grundsätzlich, wenn sich die Absatzstruktur dieser Instanz ändert (indem die Variante, das Element oder der Bereich der angezeigten Absätze geändert wird), kann sich dies auf den Übergangsinhalt auswirken, der beim Inhalt des Inhaltsfragments angezeigt wird:
  • Wird bearbeitet und vor dem zweiten Absatz wird ein weiterer Absatz eingefügt:
    • Der Übergangsinhalt wird nach dem neu erstellten Absatz angezeigt (das zweite Absatzsystem enthält nun den neu erstellten Absatz).
  • Wird bearbeitet und der zweite Absatz wird entfernt:
    • Der Übergangsinhalt wird nach dem Absatz angezeigt, der zuvor der dritte war (das zweite Absatzsystem enthält jetzt den vorherigen dritten Absatz).
  • Ist so konfiguriert, dass nur der erste Absatz angezeigt wird:
    • Der Übergangsinhalt wird nicht angezeigt (das zweite Absatzsystem wird aufgrund der neuen Konfiguration nicht mehr gerendert).

Anpassen der Inhaltsfragmentkomponente

Um die gebrauchsfertige Inhaltsfragmentkomponente als Blueprint für die Erweiterung zu verwenden, sollten Sie den folgenden Vertrag einhalten:
  • Verwenden Sie das HTL-Wiedergabeskript und das zugehörige POJO erneut, um zu sehen, wie die Funktion für Übergangsinhalte implementiert wird.
  • Reuse the content fragment node: cq:editConfig
    • The afterinsert / afteredit / afterdelete listeners are used to trigger JS events. Diese Ereignisse werden in der Client-Bibliothek cq.authoring.editor.plugin.cfm behandelt, um den zugehörigen Inhalt im Seitenbereich anzuzeigen.
    • Die cq:dropTargets sind so konfiguriert, dass das Ziehen von Inhaltsfragment-Assets unterstützt wird.
    • cq:inplaceEditing wurde konfiguriert, um das Erstellen eines Inhaltsfragments im Seiteneditor zu unterstützen. Der Editor für die Bearbeitung im Kontext für Fragmente ist in der Client-Bibliothek cq.authoring.editor.plugin.cfm definiert und ermöglicht eine schnelle Verknüpfung zum Öffnen des aktuellen Elements/der aktuellen Variante im Fragmenteditor .

Asset-Neuschreibung vor dem Rendern

Die Inhaltsfragmentverwaltung verwendet einen internen Renderprozess, um die endgültige HTML-Ausgabe für eine Seite zu generieren. Dieser wird intern von der Inhaltsfragmentkomponente verwendet, aber auch vom Hintergrundprozess, der referenzierte Fragmente auf referenzierenden Seiten aktualisiert.
Intern wird der Sling Rewriter für dieses Rendering verwendet. The respective configuration is found at /libs/dam/config/rewriter/cfm and can be adjusted if required. See the Apache Sling Rewriter for more information.
Die Standardkonfiguration verwendet folgende Transformatoren:
  • transformer-cfm-payloadfilter - zum Abrufen des body Teils ( <body>...</body> ) des HTML-Codes des Fragments
  • transformer-cfm-parfilter - filtert unerwünschte Absätze heraus, wenn ein Absatzbereich angegeben wurde (wie bei der Inhaltsfragmentkomponente möglich)
  • transformer-cfm-assetprocessor - wird intern zum Abrufen einer Liste der Assets verwendet, die im Fragment eingebettet sind
Der Rendervorgang wird über com.adobe.cq.dam.cfm.content.FragmentRenderService verfügbar gemacht und kann bei Bedarf (zum Beispiel) von benutzerdefinierten Komponenten genutzt werden.