I modelli vengono utilizzati in vari punti dell’AEM:
Quando crei una pagina, selezioni un modello. Questo modello viene utilizzato come base per la nuova pagina. Il modello definisce la struttura della pagina, l’eventuale contenuto iniziale e il componenti utilizzabili (proprietà di progettazione).
Quando crei un frammento di contenuto, selezioni anche un modello. Questo modello definisce la struttura, gli elementi iniziali e le varianti.
Sono trattati in dettaglio i seguenti modelli:
AEM ora offre due tipi di modelli di base per la creazione di pagine:
Quando si utilizza un modello per creare una pagina, non ci sono differenze visibili (per l’autore della pagina) e nessuna indicazione del tipo di modello utilizzato.
I modelli modificabili sono ora considerati best practice per lo sviluppo con AEM.
Vantaggi dei modelli modificabili:
Può essere creato e modificato dai tuoi autori.
Sono state introdotte per consentirti di definire quanto segue per tutte le pagine create con il modello:
Dopo la creazione della nuova pagina, viene mantenuta una connessione dinamica tra la pagina e il modello. Ciò significa che le modifiche alla struttura del modello vengono applicate a tutte le pagine create con tale modello, mentre le modifiche al contenuto iniziale non vengono applicate.
Utilizza i criteri per contenuto (modificati dall’editor modelli) per mantenere le proprietà di progettazione (non utilizza la modalità Progettazione nell’editor pagina).
Sono archiviati in /conf
Consulta Modelli modificabili per ulteriori informazioni.
Modelli statici:
/apps
A partire dalla versione 6.5 dell’AEM, l’uso di modelli statici non è considerato una best practice. Utilizza invece i modelli modificabili.
Modernizzazione dell’AEM Gli strumenti consentono di passare da modelli statici a modificabili.
L’AEM offre più proprietà per controllare i modelli consentiti in Sites. Tuttavia, la loro combinazione può portare a regole complesse difficili da tracciare e gestire.
Pertanto, l’Adobe consiglia di iniziare da semplice, definendo:
solo il cq:allowedTemplates
proprietà
solo nella directory principale del sito
Ad esempio, vedi We.Retail: /content/we-retail/jcr:content
Le proprietà allowedPaths
, allowedParents
, e allowedChildren
può essere posizionato anche sui modelli per definire regole più sofisticate. Tuttavia, quando possibile, è molto definizione più semplice cq:allowedTemplates
proprietà nelle sottosezioni del sito, se è necessario limitare ulteriormente i modelli consentiti.
Un ulteriore vantaggio è che il cq:allowedTemplates
Le proprietà possono essere aggiornate da un autore in Avanzate scheda di Proprietà pagina. Le altre proprietà del modello non possono essere aggiornate utilizzando l’interfaccia utente (standard), pertanto avrebbe bisogno di uno sviluppatore per mantenere le regole e una distribuzione del codice per ogni modifica.
Durante la creazione di una pagina nell’interfaccia di amministrazione del sito, l’elenco dei modelli disponibili dipende dalla posizione della nuova pagina e dalle restrizioni sul posizionamento specificate in ciascun modello.
Le seguenti proprietà determinano se un modello T
viene utilizzato per inserire una nuova pagina come pagina figlia di P
. Ciascuna di queste proprietà è una stringa con più valori contenente zero o più espressioni regolari utilizzate per la corrispondenza con i percorsi:
Il cq:allowedTemplates
proprietà del jcr:content
sottonodo di P
o un predecessore di P
.
Il allowedPaths
proprietà di T
.
Il allowedParents
proprietà di T
.
Il allowedChildren
proprietà del modello di P
.
La valutazione funziona come segue:
Il primo non vuoto cq:allowedTemplates
è stata trovata una proprietà durante l’ascensione della gerarchia delle pagine che inizia con P
corrisponde al percorso di T
. Se nessuno dei valori corrisponde, T
è stato rifiutato.
Se T
ha un valore non vuoto allowedPaths
, ma nessuno dei valori corrisponde al percorso di P
, T
è stato rifiutato.
Se entrambe le proprietà di cui sopra sono vuote o inesistenti, T
viene rifiutato a meno che non appartenga alla stessa applicazione di P
. T
appartiene alla stessa applicazione di P
se e solo se il nome del secondo livello del percorso di T
è uguale al nome del secondo livello del percorso di P
. Ad esempio, il modello /apps/geometrixx/templates/foo
appartiene alla stessa applicazione della pagina /content/geometrixx
.
Se T
ha un valore non vuoto allowedParents
, ma nessuno dei valori corrisponde al percorso di P
, T
è stato rifiutato.
Se il modello di P
ha un valore non vuoto allowedChildren
, ma nessuno dei valori corrisponde al percorso di T
, T
è stato rifiutato.
In tutti gli altri casi: T
è consentito.
Il diagramma seguente illustra il processo di valutazione del modello:
Per limitare i modelli utilizzabili per creare pagine figlie in una determinata pagina, utilizza cq:allowedTemplates
proprietà di jcr:content
nodo della pagina per specificare l’elenco di modelli consentiti come pagine figlie. Ogni valore nell’elenco deve essere il percorso assoluto di un modello per una pagina figlia consentita, ad esempio /apps/geometrixx/templates/contentpage
.
È possibile utilizzare cq:allowedTemplates
proprietà del modello jcr:content
per applicare questa configurazione a tutte le nuove pagine create che utilizzano questo modello.
Per aggiungere altri vincoli, ad esempio relativi alla gerarchia dei modelli, è possibile utilizzare allowedParents/allowedChildren
proprietà nel modello. È quindi possibile specificare esplicitamente che le pagine create da un modello devono essere padri/figli di pagine create da un modello T.
Consulta Modelli per frammenti di contenuto.