Componenten voor inhoudsfragmenten

LET OP

Voor bepaalde functionaliteit van contentfragment is de toepassing van AEM 6.4 Service Pack 2 (6.4.2.0) vereist.

Componenten voor het ontwerpen van fragmenten

LET OP

Het wordt afgeraden de werkelijke componenten die in de fragmenteditor worden gebruikt, uit te breiden of te wijzigen, omdat deze nog steeds kunnen worden gewijzigd.

Zie Inhoudsfragmentbeheer-API - Client-Side.

Componenten voor pagina-ontwerp

LET OP

De Content Fragment Core Component wordt nu aanbevolen. Zie Core Components ontwikkelen voor meer informatie.

In deze sectie wordt de oorspronkelijke component beschreven die is geleverd voor gebruik met inhoudsfragmenten (Inhoudsfragment in de groep Algemeen).

Inhoudsfragmenten van Adobe Experience Manager (AEM) worden gemaakt en beheerd als paginaonafhankelijke assets. U kunt hiermee kanaalneutrale inhoud maken, samen met (mogelijk kanaalspecifieke) variaties. Vervolgens kunt u deze fragmenten en de variaties ervan gebruiken bij het ontwerpen van de inhoudspagina's. U kunt ook een bestaand inhoudsfragmentelement gebruiken door het element van de elementenbrowser naar de pagina te slepen (zoals bij andere elementen, zoals de basiscomponentafbeelding). De component van het inhoudsfragment uit de doos toont slechts één element van het referenced inhoudsfragment. Met behulp van het componentdialoogvenster kunt u het element, de variatie en het bereik van fragmentalinea's definiëren die u op de pagina wilt weergeven.

OPMERKING

Deze component Content Fragment is in AEM 6.2 geïntroduceerd als een verbeterde versie van de component Article, die is vervangen.

OPMERKING

Inhoudsfragmenten worden niet ondersteund in de klassieke UI.

Definitie

De component Inhoudsfragment wordt gebruikt om een verwijzing naar een inhoudsfragmentelement (effectief verbeterde tekstelementen) te bevatten. Het middeltype voor het inhoudsfragment is:

  • dam/cfm/components/contentfragment/contentfragment

De verwijzing wordt gedefinieerd in de eigenschap:

  • fileReference

Alleen de editor van de interface met aanraakbediening biedt volledige ondersteuning voor componenten van inhoudsfragmenten, waaronder de clientbibliotheek:

  • cq.authoring.editor.plugin.cfm

Deze bibliotheek voegt eigenschappen, specifiek voor inhoudsfragmenten, aan de redacteur toe. Er is bijvoorbeeld ondersteuning beschikbaar voor het toevoegen en configureren van inhoudsfragmenten op de pagina, het zoeken naar elementen van inhoudsfragmenten in de elementenbrowser en de bijbehorende inhoud in het zijpaneel.

Tussen inhoud

Met de component Inhoudskader t kunt u extra componenten tussen de verschillende alinea's van het weergegeven element neerzetten. In feite bestaat het weergegeven element uit verschillende alinea's (elke alinea wordt gemarkeerd door een regelterugloop). Tussen deze alinea's kunt u inhoud invoegen met behulp van andere componenten.

Vanuit technisch gezichtspunt, leeft elke paragraaf van het getoonde element in zijn eigen parsys, en elke component die u tussen de paragrafen toevoegt zal (onder de kap) in parsys worden opgenomen.

Met andere woorden, als de instantie van de inhoudfragment component uit drie paragrafen wordt samengesteld, dan zal de component drie verschillende parsys in de bewaarplaats hebben. Alle inwendige inhoud die aan het inhoudsfragment wordt toegevoegd zal eigenlijk binnen deze parsys worden gevestigd.

In de gegevensopslagruimte wordt de tussenliggende inhoud opgeslagen ten opzichte van de positie binnen de algemene alinearichting, d.w.z. de inhoud is niet gekoppeld aan de werkelijke alinea-inhoud.

Om dit te illustreren, moeten we bedenken dat we:

  • Een instantie van een inhoudsfragment dat bestaat uit drie alinea's

  • En dat bepaalde inhoud al is ingevoegd na de tweede alinea

    • Dit betekent dat de inhoud in tweede parsys zal worden opgeslagen.

Als de alineabstructuur van dit exemplaar verandert (door de variatie, het element of het bereik van de weergegeven alinea's te wijzigen), kan dit van invloed zijn op de tussenliggende inhoud die wordt weergegeven wanneer de inhoud van het inhoudsfragment:

  • Wordt bewerkt en een andere alinea wordt toegevoegd vóór de tweede alinea:

    • De inhoud tussen wordt weergegeven na de nieuwe alinea (de tweede alinea bevat nu de nieuwe alinea).
  • Wordt bewerkt en de tweede alinea wordt verwijderd:

    • De inhoud tussen de pagina's wordt weergegeven na de alinea die eerder de derde alinea was (de tweede alinea bevat nu de vorige derde alinea).
  • Is zo gevormd dat slechts de eerste paragraaf wordt getoond:

    • De inhoud in-tussen zal niet worden getoond (tweede parsys wordt niet meer teruggegeven toe te schrijven aan de nieuwe configuratie).

De component Inhoudsfragment aanpassen

Als u de uit-van-de-doos component van het inhoudsfragment als blauwdruk voor uitbreiding wilt gebruiken, zou u het volgende contract moeten respecteren:

  • U kunt het HTML-renderscript en de bijbehorende POJO opnieuw gebruiken om te zien hoe de functie voor de tussenliggende inhoud is geïmplementeerd.

  • Het knooppunt voor inhoudsfragmenten opnieuw gebruiken: cq:editConfig

    • De afterinsert/ afteredit/ afterdelete listeners worden gebruikt om JS-gebeurtenissen te activeren. Deze gebeurtenissen worden afgehandeld in de clientbibliotheek cq.authoring.editor.plugin.cfm om de bijbehorende inhoud weer te geven in het zijpaneel.
    • cq:dropTargets worden gevormd om het slepen van de elementen van het inhoudsfragment te steunen.
    • cq:inplaceEditing is geconfigureerd ter ondersteuning van het ontwerpen van een inhoudsfragment in de pagina-editor. De op plaats-plaats fragmentredacteur wordt bepaald in cq.authoring.editor.plugin.cfm cliëntbibliotheek en staat een snelle verbinding toe om het huidige element/variation in fragmentredacteur te openen.

Element herschrijven vóór renderen

Bij Inhoudsfragmentbeheer wordt een intern renderingsproces gebruikt om de uiteindelijke HTML-uitvoer voor een pagina te genereren. Dit wordt intern gebruikt door de component van het Fragment van de Inhoud, maar ook door het achtergrondproces dat referenced fragmenten op het van verwijzingen voorzien pagina's bijwerkt.

Intern wordt de Sling Rewriter gebruikt voor die rendering. De respectieve configuratie wordt gevonden bij /libs/dam/config/rewriter/cfm en kan indien nodig worden aangepast. Zie Apache Sling Rewriter voor meer informatie.

De uit-van-de-doos configuratie gebruikt de volgende transformatoren:

  • transformer-cfm-payloadfilter - alleen voor het ophalen van het body deel ( <body>...</body>) van de HTML van het fragment

  • transformer-cfm-parfilter - filtert ongewenste alinea's uit als er een alineabereik is opgegeven (zoals u kunt doen met de component Content Fragment)

  • transformer-cfm-assetprocessor - intern wordt gebruikt voor het ophalen van een lijst met elementen die zijn ingesloten in het fragment

Het renderingsproces wordt zichtbaar via [com.adobe.cq.dam.cfm.content.FragmentRenderService](https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/com/adobe/cq/dam/cfm/ContentFragment.html) en kan, indien nodig, worden benut door aangepaste componenten.

Op deze pagina