Sono stati introdotti modelli modificabili per:
Consenti agli autori specializzati di creare e modificare i modelli.
template-authors
.Fornire modelli che mantengano una connessione dinamica a tutte le pagine create da tali modelli. In questo modo tutte le modifiche apportate al modello verranno applicate alle pagine stesse.
Rendete il componente pagina più generico in modo che possa essere utilizzato senza personalizzazione.
Con i modelli modificabili, le parti che compongono una pagina sono isolate all’interno dei componenti. È possibile configurare le combinazioni di componenti necessarie in un’interfaccia utente, eliminando così la necessità di sviluppare un nuovo componente di pagina per ogni variazione di pagina.
AEM 6.4.5.0 o versione successiva è richiesto per utilizzare modelli modificabili con l'editor SPA.
Sono disponibili anche modelli statici.
Questo documento:
Fornisce una panoramica sulla creazione di modelli modificabili
Descrive le attività di amministrazione/sviluppatore necessarie per creare modelli modificabili
Descrive le basi tecniche dei modelli modificabili
Questo documento presuppone che si abbia già familiarità con la creazione e la modifica di modelli. Consultate il documento di authoring Creazione di modelli di pagina, che descrive in dettaglio le capacità dei modelli modificabili come esposti all'autore del modello.
L'esercitazione seguente potrebbe interessare anche la configurazione di un modello di pagina modificabile in un nuovo progetto:
Guida introduttiva AEM Sites Part 2 - Creazione di una pagina di base e di un modello
La creazione di modelli modificabili viene realizzata principalmente con la console dei modelli ed editor di modelli da un autore di modelli. Questa sezione fornisce una panoramica di questo processo e una descrizione di quanto avviene a livello tecnico.
Per informazioni sull'utilizzo di modelli modificabili in un progetto AEM vedere Creazione di un progetto AEM tramite Lazybones.
Durante la creazione di un nuovo modello modificabile:
Create una cartella per i modelli. Questa operazione non è obbligatoria, ma è consigliata.
Selezionare un tipo di modello. Viene copiato per creare la definizione del modello.
Sono disponibili una selezione di tipi di modelli out-of-the-box. Potete anche creare tipi di modelli specifici per il sito, se necessario.
Configurate la struttura, i criteri di contenuto, il contenuto iniziale e il layout del nuovo modello.
Struttura
La struttura consente di definire componenti e contenuti per il modello.
I componenti definiti nella struttura del modello non possono essere spostati su una pagina risultante, né eliminati da alcuna pagina risultante.
Se desideri che gli autori delle pagine siano in grado di aggiungere e rimuovere componenti, aggiungi un sistema di paragrafi al modello.
I componenti possono essere sbloccati e bloccati di nuovo per consentire di definire il contenuto iniziale.
Per informazioni dettagliate sulla definizione della struttura da parte dell'autore di un modello, vedere Creazione di modelli di pagina.
Per informazioni tecniche sulla struttura, vedere Struttura in questo documento.
Criteri
I criteri di contenuto definiscono le proprietà di progettazione di un componente.
Questi sono applicabili al modello (e alle pagine create con tale modello).
Per informazioni dettagliate sulla definizione dei criteri da parte dell'autore di un modello, vedere Creazione di modelli di pagina.
Per informazioni tecniche sui criteri, vedere Criteri di contenuto in questo documento.
Contenuto iniziale
Per informazioni dettagliate sulla definizione della struttura da parte dell'autore di un modello, vedere Creazione di modelli di pagina.
Per informazioni tecniche sui contenuti iniziali, consultate Contenuto iniziale in questo documento.
Layout
Per informazioni dettagliate sulla modalità in cui un autore del modello definisce il layout del modello, vedere Creazione di modelli di pagina.
Per informazioni tecniche sul layout del modello, vedere Layout in questo documento.
Attivate il modello, quindi consentitelo per specifiche strutture ad albero del contenuto.
Per informazioni dettagliate sull'abilitazione di un modello da parte dell'autore di un modello, vedere Creazione di modelli di pagina.
Per informazioni tecniche sull'abilitazione di un modello, vedere Abilitazione e abilitazione di un modello per noie in questo documento
Utilizzatelo per creare pagine di contenuto.
Per informazioni dettagliate sull'utilizzo dei modelli da parte dell'autore di una pagina per creare una pagina, vedere Creazione e organizzazione di pagine.
Per informazioni tecniche sulla creazione di pagine con modelli modificabili, consultare Pagine di contenuti risultanti in questo documento.
Non inserire mai informazioni che devono essere internazionalizzate in un modello. A scopo di internalizzazione, si consigliano le funzioni di localizzazione dei componenti core.
I modelli sono strumenti potenti per semplificare il flusso di lavoro di creazione delle pagine. Tuttavia, troppi modelli possono sopraffare gli autori e rendere confusa la creazione delle pagine. Una buona regola è mantenere il numero di modelli al di sotto di 100.
Adobe non consiglia di avere più di 1000 modelli a causa di potenziali impatti sulle prestazioni.
La libreria client dell'editor presuppone la presenza dello spazio dei nomi cq.shared
nelle pagine di contenuto, e se è assente, si verificherà l'errore JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined
.
Tutte le pagine di contenuto di esempio contengono cq.shared
, pertanto qualsiasi contenuto basato su di esse include automaticamente cq.shared
. Tuttavia, se decidete di creare da zero pagine di contenuto personalizzate senza basarle su contenuti di esempio, dovete includere lo spazio dei nomi cq.shared
.
Per ulteriori informazioni, vedere Utilizzo di librerie lato client.
Per organizzare i modelli potete utilizzare le cartelle seguenti:
globale
Specifico per il sito
Le cartelle specifiche del sito create per organizzare i modelli vengono create con un account che dispone di privilegi di amministratore.
Anche se potete nidificare le cartelle, quando l'utente le visualizza nella console Templates, queste vengono presentate come una struttura semplice.
In un’istanza AEM standard la cartella globale esiste già nella console modelli. Questa contiene i modelli predefiniti e funge da fallback se nella cartella corrente non sono presenti criteri e/o tipi di modello. Potete aggiungere i modelli predefiniti a questa cartella o creare una nuova cartella (scelta consigliata).
È consigliabile creare una nuova cartella in cui memorizzare i modelli personalizzati e non utilizzare la cartella globale.
Le cartelle devono essere create da un utente con diritti admin
.
I tipi di modello e i criteri vengono ereditati in tutte le cartelle in base al seguente ordine di precedenza:
/conf/global
/apps
/libs
Viene creato un elenco di tutte le voci consentite. Se le configurazioni si sovrappongono ( path
/ label
), all'utente viene presentata solo l'istanza più vicina alla cartella corrente.
Per creare una nuova cartella, potete effettuare le seguenti operazioni:
È possibile creare una nuova cartella (in /conf) per l’istanza a livello di programmazione o con CRXDE Lite.
Deve essere utilizzata la seguente struttura:
/conf
<your-folder-name> [sling:Folder]
settings [sling:Folder]
wcm [cq:Page]
templates [cq:Page]
policies [cq:Page]
È quindi possibile definire le seguenti proprietà sul nodo principale della cartella:
<your-folder-name> [sling:Folder]
Nome: jcr:title
String
In aggiunta alle autorizzazioni e ai privilegi di authoring standard (ad esempio content-authors
) è ora necessario assegnare i gruppi e definire i diritti di accesso (ACL) richiesti agli autori per poter creare i modelli nella nuova cartella.
Il gruppo template-authors
è il gruppo predefinito che deve essere assegnato. Per ulteriori informazioni, vedere la sezione ACL e gruppi riportata di seguito.
Per informazioni dettagliate sulla gestione e l'assegnazione dei diritti di accesso, vedere Accesso a Rights Management.
Andate a Navigazione globale -> Strumenti > Browser di configurazione.
Le cartelle esistenti sono elencate a sinistra, inclusa la cartella globale.
Fai clic su Crea.
Nella finestra di dialogo Crea configurazione è necessario configurare i seguenti campi:
Fai clic su Crea
Nel browser di configurazione, potete modificare la cartella globale e attivare l'opzione Modelli modificabili se desiderate creare dei modelli all'interno di questa cartella, ma questa è una procedura consigliata.
Per ulteriori informazioni, consultare la documentazione del browser di configurazione.
Una volta create le cartelle dei modelli (tramite CRXDE o con il browser di configurazione), gli ACL devono essere definiti per i gruppi appropriati per le cartelle dei modelli per garantire la protezione adeguata.
Le cartelle dei modelli per l'implementazione di riferimento We.Retail possono essere utilizzate come esempio.
Il gruppo template-authors
è il gruppo utilizzato per gestire l'accesso ai modelli ed è dotato di AEM standard, ma è vuoto. Gli utenti devono essere aggiunti al gruppo per il progetto/sito.
Il gruppo template-authors
è solo per gli utenti che devono essere in grado di creare nuovi modelli.
La modifica dei modelli è molto efficace e, se non viene eseguita correttamente, i modelli esistenti possono essere interrotti. Questo ruolo dovrebbe pertanto essere mirato e includere solo utenti qualificati.
Nella tabella seguente sono elencate le autorizzazioni necessarie per la modifica dei modelli.
Percorso | Ruolo/Gruppo | Autorizzazioni |
Descrizione |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
Autori modello |
lettura, scrittura, replica | Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli nello spazio /conf specifico del sito |
Utente Web anonimo | read | Utente Web anonimo deve leggere i modelli durante il rendering di una pagina | |
Autori contenuto | replica | Gli autori di replicheContent devono attivare i modelli di una pagina durante l’attivazione di una pagina | |
/conf/<your-folder>/settings/wcm/policies |
Template Author |
lettura, scrittura, replica | Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli nello spazio /conf specifico del sito |
Utente Web anonimo | read | Utente Web anonimo deve leggere i criteri durante il rendering di una pagina | |
Autori contenuto | replica | Quando si attiva una pagina, gli autori dei contenuti devono attivare i criteri di un modello di pagina | |
/conf/<site>/settings/template-types |
Autore del modello | read | L’autore del modello crea un nuovo modello basato su uno dei tipi di modello predefiniti. |
Utente Web anonimo | nessuno | L'utente Web anonimo non deve accedere ai tipi di modello |
Questo gruppo predefinito template-authors
copre solo le impostazioni di progetto, dove tutti i membri template-authors
possono accedere e creare tutti i modelli. Per le impostazioni più complesse, in cui sono necessari gruppi di autori di modelli multipli per l'accesso separato ai modelli, è necessario creare un numero maggiore di gruppi di autori di modelli personalizzati. Tuttavia, le autorizzazioni per i gruppi di autori dei modelli rimarrebbero invariate.
I modelli non devono più essere memorizzati in /conf/global
, tuttavia per alcune installazioni precedenti potrebbero essere ancora presenti dei modelli in questo percorso. SOLO in tali situazioni precedenti, i seguenti percorsi /conf/global
dovrebbero essere configurati in modo esplicito.
Percorso | Ruolo/Gruppo | Autorizzazioni |
Descrizione |
---|---|---|---|
/conf/global/settings/wcm/templates |
Autori modello | lettura, scrittura, replica | Autori di modelli che creano, leggono, aggiornano, eliminano e replicano i modelli in /conf/global |
Utente Web anonimo | read | Utente Web anonimo deve leggere i modelli durante il rendering di una pagina | |
Autori contenuto | replica | Gli autori dei contenuti devono attivare i modelli di una pagina durante l’attivazione | |
/conf/global/settings/wcm/policies |
Template Author |
lettura, scrittura, replica | Autori di modelli che creano, leggono, aggiornano, eliminano e replicano i modelli in /conf/global |
Utente Web anonimo | read | Utente Web anonimo deve leggere i criteri durante il rendering di una pagina | |
Autori contenuto | replica | Quando si attiva una pagina, gli autori dei contenuti devono attivare i criteri di un modello di pagina | |
/conf/global/settings/wcm/template-types |
Autore del modello | read | L’autore del modello crea un nuovo modello basato su uno dei tipi di modello predefiniti |
Utente Web anonimo | nessuno | L'utente Web anonimo non deve accedere ai tipi di modello |
Quando create un nuovo modello, dovete specificare un tipo di modello:
I tipi di modello forniscono efficacemente i modelli per un modello. Quando create un nuovo modello, la struttura e il contenuto iniziale del tipo di modello selezionato vengono usati per creare il nuovo modello.
I tipi di modello consentono di definire:
AEM fornisce una piccola selezione di tipi di modelli predefiniti, ad esempio Pagina HTML5 e Pagina modulo adattiva.
I tipi di modelli sono generalmente definiti dagli sviluppatori.
I tipi di modelli forniti vengono memorizzati in:
/libs/settings/wcm/template-types
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).
I tipi di modello specifici per il sito devono essere memorizzati nella posizione comparabile di:
/apps/settings/wcm/template-types
Le definizioni per i tipi di modelli personalizzati devono essere memorizzate in cartelle definite dall'utente (consigliato) o in alternativa in global
. Esempio:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
I tipi di modello devono rispettare la struttura corretta delle cartelle (ovvero /settings/wcm/...
), in caso contrario i tipi di modello non verranno trovati.
I gruppi di dispositivi utilizzati per un modello modificabile (impostati come percorso relativo della proprietà cq:deviceGroups
) definiscono quali dispositivi mobili sono disponibili come emulatori nella modalità di layout dell'authoring delle pagine. Questo valore può essere impostato in due posizioni:
Quando create un nuovo modello modificabile, il valore viene copiato dal tipo di modello al singolo modello. Se il valore non è impostato sul tipo, può essere impostato sul modello. Una volta creato il modello, non esiste alcuna ereditarietà dal tipo al modello.
Il valore di cq:deviceGroups
deve essere impostato come percorso relativo, ad esempio mobile/groups/responsive
, e non come percorso assoluto, ad esempio /etc/mobile/groups/responsive
.
Con modelli statici, il valore di cq:deviceGroups
può essere impostato nella radice del sito.
Con i modelli modificabili, questo valore ora viene memorizzato a livello di modello e non è supportato a livello di pagina principale.
Se avete creato un modello che può fungere da base per altri modelli, potete copiare il modello come tipo di modello.
templates
al nodo template-types
sotto la cartella template.templates
sotto la cartella template.template-types
, eliminare tutte le proprietà cq:template
e cq:templateType
jcr:content
.Potete anche sviluppare un tipo di modello personalizzato utilizzando un modello modificabile di esempio come base, disponibile su GitHub.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
Le definizioni per i modelli modificabili sono memorizzate in cartelle definite dall'utente (consigliato) o in alternativa in global
. Esempio:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
Il nodo principale del modello è di tipo cq:Template
con una struttura di ossatura di:
<template-name>
initial
jcr:content
root
<component>
...
<component>
jcr:content
@property status
policies
jcr:content
root
@property cq:policy
<component>
@property cq:policy
...
<component>
@property cq:policy
structure
jcr:content
root
<component>
...
<component>
cq:responsive
breakpoints
thumbnail.png
Gli elementi principali sono:
Questo nodo contiene le proprietà per il modello:
Nome: jcr:title
Nome: status
String
draft
, enabled
oppure disabled
Definisce la struttura della pagina risultante:
Viene unito al contenuto iniziale ( /initial
) durante la creazione di una nuova pagina.
Le modifiche apportate alla struttura si rifletteranno sulle pagine create con il modello.
Il nodo root
( structure/jcr:content/root
) definisce l'elenco dei componenti che saranno disponibili nella pagina risultante.
editable
viene impostata su true
.initial
.Il nodo cq:responsive
contiene le definizioni per il layout reattivo.
Definisce il contenuto iniziale di una nuova pagina al momento della creazione:
jcr:content
che viene copiato in qualsiasi nuova pagina./structure
) durante la creazione di una nuova pagina.root
contiene un elenco di componenti per definire ciò che sarà disponibile nella pagina risultante.Durante la modifica di un modello è possibile definire il layout, utilizza layout reattivo standard che può essere anche configurato.
I criteri relativi ai contenuti (o alle progettazioni) definiscono le proprietà di progettazione (o design) di un componente. Ad esempio, i componenti disponibili o le dimensioni minime e massime. Questi sono applicabili al modello (e alle pagine create con tale modello). I criteri di contenuto possono essere creati e selezionati nell'editor modelli.
La proprietà cq:policy
, sul nodo root
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Fornisce un riferimento relativo al criterio del contenuto per il sistema paragrafo della pagina.
La proprietà cq:policy
, nei nodi espliciti dei componenti in root
, fornisce collegamenti ai criteri per i singoli componenti.
Le definizioni effettive dei criteri sono memorizzate in:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
I percorsi delle definizioni dei criteri dipendono dal percorso del componente. cq:policy
contiene un riferimento relativo alla configurazione stessa.
Le pagine create da modelli modificabili non offrono una modalità Progettazione nell’editor pagina.
La struttura policies
di un modello modificabile ha la stessa gerarchia della configurazione della modalità di progettazione di un modello statico in:
/etc/designs/<my-site>/jcr:content/<component-name>
La configurazione della modalità di progettazione di un modello statico è stata definita per ciascun componente di pagina.
I criteri di pagina consentono di definire i criteri di contenuto per la pagina (parsys principale), nel modello o nelle pagine risultanti.
Abilita modello
Per poter utilizzare un modello, è necessario che sia attivato:
Abilitazione del modello dalla console Modelli.
Impostazione della proprietà status sul nodo jcr:content
.
Ad esempio, on:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
Definire la proprietà:
enabled
Modelli consentiti
Definire i percorsi dei modelli consentiti nelle proprietà pagina della pagina o della pagina principale appropriata di un ramo secondario.
Impostare la proprietà:
cq:allowedTemplates
Sul nodo jcr:content
del ramo richiesto.
Ad esempio, con un valore di:
/conf/<your-folder>/settings/wcm/templates/.*;
Pagine create da modelli modificabili:
Vengono creati con una sottostruttura ad albero che viene unita da structure
e initial
nel modello
Contiene riferimenti alle informazioni contenute nel modello e nel tipo di modello. Questo si ottiene con un nodo jcr:content
con le proprietà:
cq:template
Fornisce il riferimento dinamico al modello effettivo; consente di riflettere le modifiche apportate al modello sulle pagine effettive.
cq:templateType
Fornisce un riferimento al tipo di modello.
Il diagramma precedente mostra come i modelli, i contenuti e i componenti si interfacciano:
Controller - /content/<my-site>/<my-page>
Pagina risultante che fa riferimento al modello. Il contenuto controlla l’intero processo. In base alle definizioni, accede al modello e ai componenti appropriati.
Configurazione - /conf/<my-folder>/settings/wcm/templates/<my-template>
Il modello e i relativi criteri di contenuto definiscono la configurazione della pagina.
Modello - Pacchetti OSGi
I bundle OSGI implementano la funzionalità.
Visualizzazione - /apps/<my-site>/components
Sia nell’ambiente di creazione che in quello di pubblicazione, il rendering del contenuto viene eseguito da components.
Durante il rendering di una pagina:
Modelli:
cq:template
del relativo nodo jcr:content
per accedere al modello che corrisponde a tale pagina.Componenti:
Il componente pagina unisce la struttura structure/jcr:content
del modello alla struttura jcr:content
della pagina.
Il componente Pagina consente solo all’autore di modificare i nodi della struttura del modello contrassegnati come modificabili (così come altri elementi secondari).
Quando si esegue il rendering di un componente su una pagina, il percorso relativo di tale componente viene tracciato dal nodo jcr:content
; viene quindi ricercato lo stesso percorso nel nodo policies/jcr:content
del modello.
cq:policy
di questo nodo fa riferimento al criterio del contenuto effettivo (ovvero contiene la configurazione di progettazione per quel componente).