Modelli per frammenti di contenuto

ATTENZIONE

Per la creazione di tutti i frammenti è ora consigliabile utilizzare modelli di frammento di contenuto .

I modelli di frammento di contenuto vengono utilizzati per tutti gli esempi in We.Retail.

NOTA

Prima di AEM 6.3, venivano creati frammenti di contenuto con l’uso di modelli anziché modelli. I modelli non sono più disponibili per la creazione di nuovi frammenti, ma tutti i frammenti creati con tale modello sono ancora supportati.

I modelli vengono selezionati al momento della creazione di un frammento di contenuto. Forniscono al nuovo frammento la struttura di base, gli elementi e la variante. I modelli utilizzati per i frammenti di contenuto sono soggetti a Granite Configuration Manager.

I modelli predefiniti si trovano in:

  • /libs/settings/dam/cfm/templates

Puoi creare modelli specifici per il sito per frammenti di contenuto in:

  • /apps/settings/dam/cfm/templates
    Posizione per sovrapporre i modelli predefiniti o fornire modelli specifici a livello di applicazione per i clienti che non sono destinati ad essere estesi o modificati in fase di runtime.

  • /conf/global/settings/dam/cfm/templates
    La posizione dei modelli specifici per i clienti a livello di istanza che devono essere modificati in fase di runtime.

L'ordine di precedenza è (in ordine decrescente) /conf, /apps, /libs.

ATTENZIONE

Non è necessario modificare nulla nel percorso /libs.

Questo perché il contenuto di /libs viene sovrascritto la prossima volta che aggiorni l’istanza (e potrebbe essere sovrascritto quando applichi un hotfix o un pacchetto di funzioni).

Il metodo consigliato per la configurazione e altre modifiche è:

  1. Ricrea l'elemento richiesto (ovvero come esiste in /libs) in /apps

  2. Apporta modifiche all'interno di /apps

La struttura di base di un modello si trova in:

conf
  global
    settings
      dam
        cfm
          templates
            <template-name>
              ...

La struttura specifica è:

+ <template-name>
    - jcr:primaryType
    - jcr:title
    - jcr:description
    - initialAssociatedContent
    - precreateElements
    - version
    + elements
        - jcr:primaryType
        + <element-name>
            - jcr:primaryType
            - jcr:title
            - defaultContent
            - initialContentType
            - name
        ... + other element definitions
    + variations
        - jcr:primaryType
        + <variation-name>
            - jcr:primaryType
            - jcr:title
            - jcr:description
            - name
        ... + other variation definitions

Maggiori dettagli sui nodi e sulle loro proprietà sono:

  • Modello

    Nome Tipo Valore
    <template-name> nt:unstructured Questo nodo è la radice di ciascun modello. È obbligatorio e deve avere un nome univoco.
    jcr:title

    String

    required

    Titolo del modello (visualizzato nella procedura guidata Crea frammento ).
    jcr:description

    String

    facoltativo

    Testo che descrive lo scopo del modello (visualizzato nella procedura guidata Crea frammento ).
    initialAssociatedContent

    String[]

    facoltativo

    Matrice con percorsi alle raccolte che per impostazione predefinita devono essere associate a un frammento di contenuto appena creato.
    precreateElements

    Boolean

    required

    true, se è necessario creare le risorse secondarie che rappresentano gli elementi (eccetto l’elemento principale) del frammento di contenuto al momento della creazione del frammento di contenuto; false se devono essere create "al volo".

    Nota: al momento questo parametro deve essere impostato su true.

    version

    Long

    obbligatorio

    Versione della struttura del contenuto; attualmente supportato:

    Nota: al momento questo parametro deve essere impostato su 2.

  • Elementi

    Nome Tipo Valore
    elements

    nt:unstructured

    obbligatorio

    Nodo che contiene la definizione degli elementi del frammento di contenuto. È obbligatorio e deve contenere almeno un nodo figlio per l'elemento Principale, ma può contenere [1..n] nodi figlio.

    Quando il modello viene utilizzato, il ramo secondario degli elementi viene copiato nel ramo del modello del frammento.

    Il primo elemento (visualizzato in CRXDE Lite) viene automaticamente considerato l'elemento principale; il nome del nodo è irrilevante e il nodo stesso non ha un significato speciale, a parte il fatto che è rappresentato dalla risorsa principale; gli altri elementi sono gestiti come attività secondarie.

  • Nome elemento

    Nome Tipo Valore
    <element-name> nt:unstructured Questo nodo definisce un elemento. È obbligatorio e deve avere un nome univoco.
    jcr:title

    String

    obbligatorio

    Titolo dell’elemento (visualizzato nel selettore di elementi dell’editor frammento).
    defaultContent

    String

    facoltativo

    impostazione predefinita: ""

    Contenuto iniziale dell’elemento; utilizzato solo se precreateElements = true
    initialContentType

    String

    facoltativo

    impostazione predefinita: text/html

    tipo di contenuto iniziale dell’elemento; utilizzato solo se precreateElements = true; attualmente supportato:

    • text/html
    • text/plain
    • text/x-markdown
    name

    String

    obbligatorio

    Nome interno dell’elemento; deve essere univoco per il tipo di frammento.
  • Varianti

    Nome Tipo Valore
    variations

    nt:unstructured

    facoltativo

    Questo nodo facoltativo contiene la definizione delle varianti iniziali del frammento di contenuto.
  • Nome variante

    Nome Tipo Valore
    <variation-name>

    nt:unstructured

    obbligatorio se è presente un nodo di variante

    Definisce una variante iniziale.
    Per impostazione predefinita, la variante viene aggiunta a tutti gli elementi del frammento di contenuto.

    La variante avrà lo stesso contenuto iniziale del rispettivo elemento (vedi defaultContent/ initialContentType)

    jcr:title

    String

    obbligatorio

    Titolo della variante (visualizzato nella scheda Variazione dell’editor frammenti (barra a sinistra)).
    jcr:desciption

    String

    facoltativo

    impostazione predefinita: ""

    Testo che fornisce una descrizione della variante (visualizzata nella scheda Variazione dell’editor frammenti (barra a sinistra)).

In questa pagina