Modelli templates
I modelli vengono utilizzati in vari punti dell’AEM:
-
Quando si crea una pagina, si seleziona un modello. Questo modello viene utilizzato come base per la nuova pagina. Il modello definisce la struttura della pagina, il contenuto iniziale e i componenti utilizzabili (proprietà di progettazione).
-
Quando si crea un frammento di contenuto, si seleziona anche un modello. Questo modello definisce la struttura, gli elementi iniziali e le varianti.
Sono trattati in dettaglio i seguenti modelli:
Modelli - Pagine templates-pages
AEM ora offre due tipi di modelli di base per la creazione di pagine:
Modelli modificabili editable-templates
I modelli modificabili sono ora considerati best practice per lo sviluppo con AEM.
Vantaggi dei modelli modificabili:
-
I tuoi autori possono creare e modificare.
-
Sono state introdotte per consentire di definire quanto segue per tutte le pagine create con il modello:
- la struttura
- il contenuto iniziale
- criteri per contenuti
-
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
-
Per ulteriori informazioni, vedere Modelli modificabili.
Modelli statici static-templates
Modelli statici:
- Deve essere definito e configurato dagli sviluppatori.
- Il sistema di modelli originale dell’AEM che è stato reso disponibile per molte versioni.
- Un modello statico è una gerarchia di nodi con la stessa struttura della pagina da creare, ma senza alcun contenuto effettivo.
- Vengono copiati per creare la pagina, ma in seguito non esiste alcuna connessione dinamica.
- Utilizza la modalità progettazione per mantenere le proprietà di progettazione.
- Sono archiviati in
/apps
- Per ulteriori informazioni, vedere Modelli statici.
Disponibilità dei modelli template-availability
-
solo la proprietà
cq:allowedTemplates
-
solo nella directory principale del sito
/content/we-retail/jcr:content
allowedPaths
, allowedParents
e allowedChildren
possono anche essere posizionate nei modelli per definire regole più sofisticate. Tuttavia, quando possibile, è molto più semplice definire ulteriori cq:allowedTemplates
proprietà nelle sottosezioni del sito se è necessario limitare ulteriormente i modelli consentiti.cq:allowedTemplates
possono essere aggiornate da un autore nella scheda Avanzate delle 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 posizionare una nuova pagina come elemento figlio della pagina P
. Ciascuna di queste proprietà è una stringa con più valori contenente zero o più espressioni regolari utilizzate per la corrispondenza con i percorsi:
-
Proprietà
cq:allowedTemplates
del sottonodojcr:content
diP
o predecessore diP
. -
La proprietà
allowedPaths
diT
. -
La proprietà
allowedParents
diT
. -
La proprietà
allowedChildren
del modello diP
.
La valutazione funziona come segue:
-
La prima proprietà
cq:allowedTemplates
non vuota trovata durante l'ascesa della gerarchia di pagine a partire daP
viene confrontata con il percorso diT
. Se nessuno dei valori corrisponde,T
viene rifiutato. -
Se
T
ha una proprietàallowedPaths
non vuota, ma nessuno dei valori corrisponde al percorso diP
,T
verrà rifiutato. -
Se entrambe le proprietà di cui sopra sono vuote o inesistenti,
T
verrà rifiutato a meno che non appartenga alla stessa applicazione diP
.T
appartiene alla stessa applicazione diP
se e solo se il nome del secondo livello del percorso diT
è uguale al nome del secondo livello del percorso diP
. Ad esempio, il modello/apps/geometrixx/templates/foo
appartiene alla stessa applicazione della pagina/content/geometrixx
. -
Se
T
ha una proprietàallowedParents
non vuota, ma nessuno dei valori corrisponde al percorso diP
,T
verrà rifiutato. -
Se il modello di
P
ha una proprietàallowedChildren
non vuota, ma nessuno dei valori corrisponde al percorso diT
,T
verrà rifiutato. -
In tutti gli altri casi,
T
è consentito.
Il diagramma seguente illustra il processo di valutazione del modello:
Limitazione dei modelli utilizzati nelle pagine figlie limiting-templates-used-in-child-pages
Per limitare i modelli utilizzabili per creare pagine figlie in una determinata pagina, utilizzare la proprietà cq:allowedTemplates
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 figlio consentita, ad esempio /apps/geometrixx/templates/contentpage
.
È possibile utilizzare la proprietà cq:allowedTemplates
nel nodo jcr:content
del modello per applicare questa configurazione a tutte le pagine appena create che utilizzano questo modello.
Per aggiungere altri vincoli, ad esempio relativi alla gerarchia dei modelli, è possibile utilizzare le proprietà allowedParents/allowedChildren
nel modello. È quindi possibile specificare esplicitamente che le pagine create da un modello devono essere padri/figli di pagine create da un modello T.
Modelli - Frammenti di contenuto templates-content-fragments
Consulta Modelli per frammenti di contenuto.