Modelli di frammento di contenuto

ATTENZIONE

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

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

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 sono disponibili in:

  • /libs/settings/dam/cfm/templates

È possibile creare modelli specifici per il sito per i frammenti di contenuto in:

  • /apps/settings/dam/cfm/templates
    Posizione per sovrapporre i modelli out-of-the-box o fornire modelli specifici per i clienti a livello di applicazione che non devono essere estesi o modificati in fase di esecuzione.

  • /conf/global/settings/dam/cfm/templates
    Il percorso per i modelli specifici per i clienti dell'istanza che devono essere modificati in fase di esecuzione.

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 al successivo aggiornamento dell'istanza (e potrebbe essere sovrascritto quando si applica un hotfix o un feature pack).

Il metodo consigliato per la configurazione e altre modifiche è:

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

  2. Apportare 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

Ulteriori dettagli sui nodi e le relative proprietà sono:

  • Modello

    Nome Tipo Valore
    <template-name> nt:unstructured Questo nodo è il nodo principale per 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

    Un array con percorsi alle raccolte che per impostazione predefinita dovrebbero essere associate a un frammento di contenuto appena creato.
    precreateElements

    Boolean

    required

    true, se le risorse secondarie che rappresentano gli elementi (tranne l'elemento principale) del frammento di contenuto devono essere create 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

    mandatory

    Versione della struttura del contenuto; attualmente supportato:

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

  • Elementi

    Nome Tipo Valore
    elements

    nt:unstructured

    mandatory

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

    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 main; il nome del nodo è irrilevante e il nodo stesso non ha una rilevanza particolare, a parte il fatto che è rappresentato dalla risorsa principale; gli altri elementi sono gestiti come risorse 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

    mandatory

    Titolo dell’elemento (visualizzato nel selettore di elementi dell’editor di frammenti).
    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

    mandatory

    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 variazioni 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 (vedere defaultContent/ initialContentType)

    jcr:title

    String

    mandatory

    Titolo della variante (visualizzata nella scheda Variation dell'editor frammenti (barra a sinistra)).
    jcr:desciption

    String

    facoltativo

    impostazione predefinita: ""

    Testo che fornisce una descrizione della variante (visualizzata nella scheda Variation dell'editor frammento).

In questa pagina