Komponenter för innehållsfragment components-for-content-fragments
Komponenter för fragmentredigering components-for-fragment-authoring
Se API för hantering av innehållsfragment - klientsidan.
Komponenter för sidredigering components-for-page-authoring
Innehållsfragment i Adobe Experience Manager (AEM) skapas och hanteras som sidoberoende resurser. Med dem kan du skapa kanalneutralt innehåll tillsammans med (eventuellt kanalspecifika) variationer. Du kan sedan använda dessa fragment och deras variationer när du redigerar innehållssidorna. Du kan också använda en befintlig innehållsfragmentresurs med dra den från resursläsaren till sidan (som för andra tillgångsbaserade komponenter, t.ex. bildkomponenten). Komponenten för innehållsfragment som inte finns i kartongen visar bara en element av det refererade innehållsfragmentet. Med komponentdialogrutan kan du definiera element, variation och intervall för fragmentstycken som du vill visa på sidan.
Definition definition
The Innehållsfragment -komponenten används för att hålla en referens till ett innehålls fragmentresurs (effektivt förbättrade textresurser). Resurstypen för innehållsfragmentet är:
dam/cfm/components/contentfragment/contentfragment
Referensen definieras i egenskapen:
fileReference
Det är bara redigeraren av det beröringskänsliga användargränssnittet som helt stöder komponenter för innehållsfragment, som inkluderar klientbiblioteket:
cq.authoring.editor.plugin.cfm
Det här biblioteket lägger till funktioner som är specifika för innehållsfragment i redigeraren. Det finns till exempel stöd för att lägga till och konfigurera innehållsfragment på sidan, möjlighet att söka efter innehållsfragmentresurser i resursläsaren och efter associerat innehåll på sidopanelen.
Mellan innehåll in-between-content
The Content Fragmen Med komponenten kan du släppa ytterligare komponenter mellan de olika styckena i den visade element. Elementet som visas består i själva verket av olika stycken (varje stycke markeras med en radmatning). Du kan infoga innehåll med andra komponenter mellan styckena.
Ur teknisk synvinkel finns varje stycke i det visade elementet i en egen parsys, och varje komponent som du lägger till mellan styckena infogas (under huven) i parsytan.
Det innebär att om instansen av innehållsavsnittskomponenten består av tre stycken, kommer komponenten att ha tre olika parsyser i databasen. Allt mellanliggande innehåll som läggs till i innehållsfragmentet finns i dessa parsyser.
I databasen lagras det mellanliggande innehållet i förhållande till dess placering inuti den övergripande styckestrukturen, dvs. det är inte kopplat till det faktiska styckeinnehållet.
För att illustrera detta anser vi att vi har:
-
En instans av ett innehållsfragment bestående av tre stycken
-
Och att en del innehåll redan har infogats efter det andra stycket
- Det innebär att innehållet lagras i den andra parsysen.
Om styckestrukturen i den här instansen ändras (genom att ändra variationen, elementet eller styckeintervallet som visas) kan det påverka det mellanliggande innehållet som visas när innehållet i innehållsfragmentet:
-
Redigeras och ett annat stycke läggs till före det andra stycket:
- Det mellanliggande innehållet visas efter det nya stycket (det nya stycket finns nu i det andra stycket).
-
Redigeras och det andra stycket tas bort:
- Det mellanliggande innehållet visas efter det stycke som tidigare var det tredje (det andra stycket gäller nu det föregående tredje stycket).
-
Har konfigurerats så att endast det första stycket visas:
- Det mellanliggande innehållet visas inte (den andra parsysen återges inte längre på grund av den nya konfigurationen).
Anpassa komponenten Innehållsfragment customizing-the-content-fragment-component
Om du vill använda fragmentkomponenten som finns i kartongen som en plan för tillägg måste du följa följande kontrakt:
-
Återanvänd HTML-återgivningsskriptet och tillhörande POJO för att se hur funktionen för mellanliggande innehåll implementeras.
-
Återanvänd noden för innehållsfragment:
cq:editConfig
- The
afterinsert
/afteredit
/afterdelete
avlyssnare används för att utlösa JS-händelser. Dessa händelser hanteras icq.authoring.editor.plugin.cfm
klientbibliotek för att visa det associerade innehållet på sidopanelen. - The
cq:dropTargets
har konfigurerats för att kunna dra innehållsfragmentresurser. cq:inplaceEditing
är konfigurerat för att stödja redigering av ett innehållsfragment i sidredigeraren. Fragmentets redigerare på plats definieras icq.authoring.editor.plugin.cfm
klientbiblioteket och tillåter en snabblänk att öppna den aktuella element/variation i fragmentredigerare.
- The
Återgivning av resurser före återgivning asset-rewriting-before-rendering
I Content Fragment Management används en intern återgivningsprocess för att generera det slutliga HTML-resultatet för en sida. Detta används internt av komponenten Content Fragment, men också av bakgrundsprocessen som uppdaterar refererade fragment på refererande sidor.
Internt används Sling Rewriter för den återgivningen. Motsvarande konfiguration finns på /libs/dam/config/rewriter/cfm
och kan justeras vid behov. Se Apache Sling Rewriter för mer information.
I konfigurationen som är klar att användas används följande transformatorer:
-
transformer-cfm-payloadfilter
- för att hämtabody
part (<body>...</body>
) av endast fragmentets HTML -
transformer-cfm-parfilter
- filtrerar bort oönskade stycken om ett styckeintervall anges (som kan göras med komponenten Innehållsfragment) -
transformer-cfm-assetprocessor
- används internt för att hämta en lista över resurser som är inbäddade i fragmentet
Återgivningsprocessen visas genom [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)
och kan utnyttjas (till exempel) av anpassade komponenter om det behövs.