Componenti per frammenti di contenuto components-for-content-fragments
Componenti per l’authoring dei frammenti components-for-fragment-authoring
Consulta API di gestione dei frammenti di contenuto - Lato client.
Componenti per l’authoring delle pagine components-for-page-authoring
I frammenti di contenuto di Adobe Experience Manager (AEM) sono creati e gestiti come risorse indipendenti dalla pagina. Consentono di creare contenuti indipendenti dal canale, con possibili varianti per canali specifici. È quindi possibile utilizzare questi frammenti e le relative varianti durante la creazione delle pagine di contenuto. Puoi anche utilizzare una risorsa frammento di contenuto esistente trascinandola dal browser risorse alla pagina 🔗 (come per altri componenti basati su risorse, come l'immagine del componente di base). Il componente predefinito per frammenti di contenuto visualizza solo un elemento del frammento di contenuto di riferimento. La finestra di dialogo del componente consente di definire l'elemento , la variante e l'intervallo di paragrafi del frammento che si desidera visualizzare nella pagina.
Definizione definition
Il componente Frammento di contenuto viene utilizzato per contenere un riferimento a una risorsa frammento di contenuto (risorse di testo effettivamente 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 per frammenti di contenuto, che includono la libreria client:
cq.authoring.editor.plugin.cfm
Questa libreria aggiunge all’editor funzioni specifiche dei frammenti di contenuto. È ad esempio disponibile il supporto per la possibilità di aggiungere e configurare frammenti di contenuto sulla pagina, per cercare le risorse dei frammenti di contenuto nel browser delle risorse e per il contenuto associato nel pannello laterale.
Contenuto intermedio in-between-content
Il componente Frammento di contenuto t consente di rilasciare componenti aggiuntivi tra i diversi paragrafi dell'elemento visualizzato. In pratica, l’elemento visualizzato è composto da paragrafi diversi (ogni paragrafo è contrassegnato da un ritorno a capo). Tra ciascuno di questi paragrafi, è possibile inserire contenuto utilizzando altri componenti.
Da un punto di vista tecnico, ogni paragrafo dell'elemento visualizzato si trova in un proprio parsys, e ogni componente che aggiungi tra i paragrafi viene (sotto il cofano) inserito nel parsys.
In altre parole, se l’istanza del componente Frammento di contenuto è composta da tre paragrafi, il componente avrà tre diversi parsys nell’archivio. Tutto il contenuto intermedio aggiunto al frammento di contenuto si trova effettivamente all’interno di questi parsys.
Nell’archivio, il contenuto intermedio viene memorizzato rispetto alla sua posizione all’interno della struttura generale dei paragrafi, ovvero non viene associato al contenuto effettivo dei paragrafi.
Per illustrare questo aspetto, tieni presente quanto segue:
-
Un’istanza di un frammento di contenuto composta da tre paragrafi
-
E che parte del contenuto è già stata inserita dopo il secondo paragrafo
- Ciò significa che il contenuto viene memorizzato nel secondo parsys.
Fondamentalmente, se la struttura paragrafo di questa istanza cambia (modificando la variante, l’elemento o l’intervallo di paragrafi visualizzati), ciò potrebbe influire sul contenuto intermedio visualizzato quando il contenuto del frammento di contenuto:
-
Viene modificato e viene aggiunto un altro paragrafo prima del secondo paragrafo:
- Il contenuto intermedio viene visualizzato dopo il paragrafo appena creato (il secondo parsys contiene ora il paragrafo appena creato).
-
Viene modificato e il secondo paragrafo viene rimosso:
- Il contenuto intermedio viene visualizzato dopo il paragrafo che in precedenza era il terzo (il secondo parsys ora contiene il precedente terzo paragrafo).
-
È configurato in modo da visualizzare solo il primo paragrafo:
- Il contenuto intermedio non viene visualizzato (il secondo parsys non viene più renderizzato a causa della nuova configurazione).
Personalizzazione del componente Frammento di contenuto customizing-the-content-fragment-component
Per utilizzare il componente predefinito frammento di contenuto come blueprint per l’estensione, è necessario rispettare il seguente contratto:
-
Riutilizza lo script di rendering HTL e il relativo POJO associato per vedere come viene implementata la funzione di contenuto intermedio.
-
Riutilizzare il nodo del frammento di contenuto:
cq:editConfig
- I listener
afterinsert
/afteredit
/afterdelete
vengono utilizzati per attivare gli eventi JS. Questi eventi vengono gestiti nella libreria clientcq.authoring.editor.plugin.cfm
per visualizzare il contenuto associato nel pannello laterale. cq:dropTargets
sono configurati per supportare il trascinamento delle risorse dei frammenti di contenuto.cq:inplaceEditing
è configurato per supportare l'authoring di un frammento di contenuto nell'editor pagina. L'editor locale del frammento è definito nella libreria clientcq.authoring.editor.plugin.cfm
e consente l'apertura di un collegamento rapido per l'elemento/variante corrente nell'editor frammento.
- I listener
Riscrittura delle risorse prima del rendering asset-rewriting-before-rendering
La gestione dei frammenti di contenuto utilizza un processo di rendering interno per generare l’output HTML finale per una pagina. Viene utilizzato internamente dal componente Frammento di contenuto, ma anche dal processo in background che aggiorna i frammenti di riferimento nelle pagine di riferimento.
Internamente, per tale rendering viene utilizzato il rewriter di Sling. La rispettiva configurazione si trova in /libs/dam/config/rewriter/cfm
e può essere regolata, se necessario. Per ulteriori informazioni, vedi Apache Sling Rewriter.
/libs/dam/config/rewriter/cfm
serializerType
must deve essere aggiornato a:serializerType="html5-serializer"
La configurazione preconfigurata utilizza i seguenti trasformatori:
-
transformer-cfm-payloadfilter
- solo per il recupero della partebody
(<body>...</body>
) del HTML del frammento -
transformer-cfm-parfilter
- esclude 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
e può essere utilizzato (ad esempio) da componenti personalizzati, se necessario.