Componenti per frammenti di contenuto components-for-content-fragments
Componenti per l’authoring dei frammenti components-for-fragment-authoring
Consulta la 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 create e gestite come risorse indipendenti dalla pagina. Consentono di creare contenuti indipendenti dal canale, con possibili varianti per canali specifici. Puoi quindi utilizzare questi frammenti, e le relative varianti, durante l’authoring delle pagine di contenuto. Puoi anche utilizzare una risorsa per frammenti di contenuto esistente tramite trascinarlo dal browser risorse alla pagina (come per altri componenti basati su risorse, ad esempio l’immagine del componente di base). Il componente per frammenti di contenuto predefinito ne visualizza solo uno elemento del frammento di contenuto di riferimento. Utilizzando la finestra di dialogo del componente è possibile definire elemento, variante e intervallo di paragrafi di frammenti che desideri visualizzare sulla pagina.
Definizione definition
Il Frammento di contenuto il componente viene utilizzato per contenere un riferimento a una risorsa di un 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 Frammento di contenuto t consente di rilasciare componenti aggiuntivi tra i diversi paragrafi del elemento. 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.
-
Riutilizza il nodo del frammento di contenuto:
cq:editConfig
- Il
afterinsert
/afteredit
/afterdelete
I listener vengono utilizzati per attivare gli eventi JS. Questi eventi vengono gestiti nelcq.authoring.editor.plugin.cfm
libreria client per visualizzare il contenuto associato nel pannello laterale. - Il
cq:dropTargets
sono configurate 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 nelcq.authoring.editor.plugin.cfm
e consente di aprire la libreria corrente tramite un collegamento rapido elemento/variante nel editor frammenti.
- Il
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 possono essere regolati, se necessario. Consulta la Rewriter Apache Sling per ulteriori informazioni.
/libs/dam/config/rewriter/cfm
serializerType
deve è aggiornato a:serializerType="html5-serializer"
La configurazione preconfigurata utilizza i seguenti trasformatori:
-
transformer-cfm-payloadfilter
- per recuperarebody
parte (<body>...</body>
) solo del HTML del frammento -
transformer-cfm-parfilter
: filtra 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 viene esposto tramite com.adobe.cq.dam.cfm.content.FragmentRenderService
e possono essere utilizzati (ad esempio) da componenti personalizzati, se necessario.