Voor bepaalde functionaliteit van contentfragment is de toepassing van AEM 6.4 Service Pack 2 (6.4.2.0) vereist.
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.
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.
Deze component Content Fragment is in AEM 6.2 geïntroduceerd als een verbeterde versie van de component Article, die is vervangen.
Inhoudsfragmenten worden niet ondersteund in de klassieke UI.
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.
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
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:
Wordt bewerkt en de tweede alinea wordt verwijderd:
Is zo gevormd dat slechts de eerste paragraaf wordt getoond:
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
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.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.