Componenten voor inhoudsfragmenten components-for-content-fragments
Componenten voor het ontwerpen van fragmenten components-for-fragment-authoring
Zie de Content Fragment Management API - Client-kant.
Componenten voor paginaontwerp components-for-page-authoring
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 slepen van middelenbrowser naar pagina (zoals voor andere op activa gebaseerde componenten, zoals het stichtingscomponentenbeeld). De inhoud van het inhoudsfragmentcomponent uit de doos toont slechts één element van het inhoudsfragment waarnaar wordt verwezen. Met behulp van het componentdialoogvenster kunt u het dialoogvenster element, variatie en bereik van fragmentalinea's die u op de pagina wilt weergeven.
Definitie definition
De 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 in-between-content
De Inhoudskader t component staat u toe om extra componenten tussen de verschillende getoonde paragrafen te laten vallen element. 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 customizing-the-content-fragment-component
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 verwerkt in het dialoogvenstercq.authoring.editor.plugin.cfm
clientbibliotheek om de bijbehorende inhoud in het zijpaneel weer te geven. - De
cq:dropTargets
zijn geconfigureerd voor het slepen van inhoud van fragmentelementen. cq:inplaceEditing
is geconfigureerd ter ondersteuning van het ontwerpen van een inhoudsfragment in de pagina-editor. De fragmentbewerker ter plekke wordt gedefinieerd in het dialoogvenstercq.authoring.editor.plugin.cfm
clientbibliotheek en maakt een snelle koppeling mogelijk om de huidige element/variatie in de fragmenteditor.
- De
Element herschrijven vóór renderen asset-rewriting-before-rendering
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 respectievelijke configuratie is te vinden op /libs/dam/config/rewriter/cfm
en kan zo nodig worden aangepast. Zie de Apache Sling Rewriter voor meer informatie .
De uit-van-de-doos configuratie gebruikt de volgende transformatoren:
-
transformer-cfm-payloadfilter
- voor het ophalen van debody
deel (<body>...</body>
) van alleen 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 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 gebruikt (bijvoorbeeld) door aangepaste componenten.