Componenti per frammenti di contenuto components-for-content-fragments

Componenti per l’authoring dei frammenti components-for-fragment-authoring

CAUTION
Si sconsiglia di estendere o modificare i componenti effettivi utilizzati nell’Editor frammento, in quanto sono ancora soggetti a modifiche.

Consulta API di gestione dei frammenti di contenuto - Lato client.

Componenti per l’authoring delle pagine components-for-page-authoring

CAUTION
Il componente core Frammento di contenuto è ora consigliato. Per ulteriori dettagli, vedere Sviluppo di componenti core.
Questa sezione descrive il componente originale distribuito per l'utilizzo con frammenti di contenuto (Frammento di contenuto nel gruppo Generale).
NOTE
Per ulteriori informazioni, vedere anche Componenti di configurazione dei frammenti di contenuto per il rendering.

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.

NOTE
Questo componente Frammento di contenuto è stato introdotto in AEM 6.2 come versione migliorata del componente Articolo, che ora è diventato obsoleto.
NOTE
I frammenti di contenuto non sono supportati nell’interfaccia classica.

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 client cq.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 client cq.authoring.editor.plugin.cfm e consente l'apertura di un collegamento rapido per l'elemento/variante corrente nell'editor frammento.

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.

CAUTION
Se regoli/sovrapponi la configurazione del rewriter:
  • /libs/dam/config/rewriter/cfm
Quindi serializerType must deve essere aggiornato a:
  • serializerType="html5-serializer"

La configurazione preconfigurata utilizza i seguenti trasformatori:

  • transformer-cfm-payloadfilter - solo per il recupero della parte body ( <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.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2