Alcune funzionalità per i frammenti di contenuto richiedono l'applicazione di AEM 6.4 Service Pack 2 (6.4.2.0).
Non è consigliabile estendere o modificare i componenti effettivi utilizzati nell'Editor frammento in quanto sono ancora soggetti a modifiche.
Consultate l'API Content Fragment Management API - Client-Side.
È ora consigliabile Componente di base frammento di contenuto. Per ulteriori informazioni, vedere Sviluppo di componenti core.
In questa sezione viene illustrato il componente originale distribuito per l'utilizzo con frammenti di contenuto (Frammento di contenuto nel gruppo Generale).
I frammenti di contenuto di Adobe Experience Manager (AEM) vengono creati e gestiti come risorse indipendenti dalla pagina. Consentono di creare contenuti versatili utilizzabili in qualsiasi canale, con possibili varianti per canali specifici. Puoi quindi utilizzare questi frammenti, con le relative varianti, durante l’authoring di pagine di contenuto. Per usare una risorsa di frammento di contenuto esistente, puoi anche trascinarla dal browser delle risorse alla pagina (come per altri componenti basati su risorse, come ad esempio Immagine componente base). Il componente per frammenti di contenuto fornito visualizza un solo elemento del frammento di contenuto a cui viene fatto riferimento. Utilizzando la finestra di dialogo del componente è possibile definire l' elemento, la variante e l'intervallo di paragrafi del frammento che si desidera visualizzare sulla pagina.
Questo componente Frammento di contenuto è stato introdotto in AEM 6.2 come versione avanzata del componente Articolo, obsoleto.
I frammenti di contenuto non sono supportati nell’interfaccia classica.
Il componente Frammento di contenuto viene utilizzato per contenere un riferimento a una risorsa di frammento di contenuto (risorse di testo migliorate). Il tipo di risorsa per il frammento di contenuto è:
dam/cfm/components/contentfragment/contentfragment
Il riferimento è definito nella proprietà:
fileReference
Solo l’editor dell’interfaccia touch supporta completamente i componenti dei frammenti di contenuto, che includono la libreria client:
cq.authoring.editor.plugin.cfm
Questa libreria aggiunge all’editor funzioni specifiche per i frammenti di contenuto. Ad esempio, sono disponibili il supporto per la possibilità di aggiungere e configurare frammenti di contenuto nella pagina, la possibilità di cercare risorse per frammenti di contenuto nel browser Risorse e per il contenuto associato nel pannello laterale.
Il componente Frammenti di contenuto t consente di inserire componenti aggiuntivi tra i diversi paragrafi dell'elemento visualizzato . In sostanza, l’elemento visualizzato è composto da paragrafi diversi (ogni paragrafo è contrassegnato da un ritorno a capo). Tra questi paragrafi, è possibile inserire il contenuto utilizzando altri componenti.
Da un punto di vista tecnico, ogni paragrafo dell’elemento visualizzato vive in parsys propri, e ogni componente aggiunto tra i paragrafi sarà (sotto il cofano) inserito nel parsys.
In altre parole, se l’istanza del componente frammento di contenuto è composta da tre paragrafi, il componente conterrà tre diversi parsys nella directory archivio. Tutto il contenuto intermedio aggiunto al frammento di contenuto si trova effettivamente all'interno di questi parsys.
Nel repository, il contenuto intermedio viene memorizzato rispetto alla posizione all’interno della struttura di paragrafi, ovvero non è collegato al contenuto effettivo del paragrafo.
A questo proposito, consideriamo che:
Un'istanza di un frammento di contenuto composto da tre paragrafi
E che alcuni contenuti sono già stati inseriti dopo il secondo paragrafo
In sostanza, se la struttura del paragrafo di questa istanza viene modificata (modificando la variante, l’elemento o l’intervallo di paragrafi visualizzati), potrebbe influenzare il contenuto intermedio visualizzato quando il contenuto del frammento di contenuto:
Viene modificato e viene aggiunto un altro paragrafo prima del secondo paragrafo:
Viene modificato e il secondo paragrafo viene rimosso:
È configurato in modo che venga visualizzato solo il primo paragrafo:
Per utilizzare il componente per frammenti di contenuto out-of-the-box come modello per l’estensione, è necessario rispettare il contratto seguente:
Riutilizzate lo script di rendering HTL e i relativi POJO associati per vedere in che modo la funzione di contenuto intermedio è implementata.
Riutilizzare il nodo del frammento di contenuto: cq:editConfig
afterinsert
/ afteredit
/ afterdelete
listener vengono utilizzati per attivare gli eventi JS. Questi eventi saranno gestiti nella cq.authoring.editor.plugin.cfm
libreria client per visualizzare il contenuto associato nel pannello laterale.cq:dropTargets
sono configurate per supportare il trascinamento di risorse di frammenti di contenuto.cq:inplaceEditing
è configurato per supportare la creazione di un frammento di contenuto nell’editor pagina. L'editor locale del frammento è definito nella libreria client cq.authoring.editor.plugin.cfm
e consente un collegamento rapido per aprire l'elemento element/variation corrente nell'editor frammenti.Content Fragment Management utilizza un processo di rendering interno per generare l'output HTML finale per una pagina. Questo viene utilizzato internamente dal componente Frammento di contenuto, ma anche dal processo in background che aggiorna i frammenti di riferimento sulle pagine di riferimento.
Internamente, Sling Rewriter viene utilizzato per tale rendering. La configurazione corrispondente si trova in /libs/dam/config/rewriter/cfm
e può essere regolata se necessario. Per ulteriori informazioni, vedere Apache Sling Rewriter.
La configurazione out-of-the-box utilizza i seguenti trasformatori:
transformer-cfm-payloadfilter
- per il recupero della body
parte ( <body>...</body>
) del solo codice HTML del frammento
transformer-cfm-parfilter
- Rimuove i paragrafi indesiderati se è specificato un intervallo di paragrafi (come può essere fatto con il componente Frammento di contenuto)
transformer-cfm-assetprocessor
- viene utilizzato internamente per recuperare un elenco delle risorse incorporate nel frammento
Il processo di rendering è esposto tramite [com.adobe.cq.dam.cfm.content.FragmentRenderService](https://helpx.adobe.com/it/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/com/adobe/cq/dam/cfm/ContentFragment.html)
e può essere sfruttato (ad esempio) da componenti personalizzati, se necessario.