Modelli modificabili editable-templates
Scopri come vengono utilizzati i modelli modificabili durante la creazione di una pagina, definendone il contenuto iniziale, il contenuto strutturato, le policy di authoring e il layout.
Panoramica overview
Durante la creazione di una pagina è necessario selezionare un modello. Il modello di pagina viene utilizzato come base per la nuova pagina. Il modello può definire la struttura della pagina risultante, tutto il contenuto iniziale e i componenti che possono essere utilizzati (proprietà di progettazione).
-
I modelli modificabili consentono agli autori di creare e utilizzare i modelli.
-
I modelli modificabili possono essere utilizzati per creare pagine modificabili sia con
I modelli di pagine utilizzati per creare pagine modificabili con Universal Editor utilizzano un sottoinsieme limitato di funzionalità di modelli modificabili. Pertanto, il resto di questo documento si concentra sui modelli modificabili utilizzati per creare pagine modificabili con l’Editor pagina.
Modelli e pagine modificabili modificati con Editor pagina page-editor
Durante la creazione di modelli per la creazione di pagine modificabili con Editor pagina, vengono normalmente identificati gli autori specializzati.
- Tali autori specializzati sono denominati autori di modelli
- Gli autori dei modelli devono essere membri del gruppo
template-authors
. - I modelli modificabili mantengono una connessione dinamica a qualsiasi pagina creata da essi. In questo modo, eventuali modifiche al modello verranno applicate anche alle pagine.
- I modelli modificabili rendono il componente Pagina più generico, pertanto il componente Pagina principale può essere utilizzato senza personalizzazione.
Con i modelli modificabili, le parti che compongono una pagina vengono isolate all’interno dei componenti. Puoi configurare le combinazioni necessarie di componenti in un’interfaccia utente, eliminando in tal modo la necessità di sviluppare un nuovo componente pagina per ogni variante di pagina.
Questo documento:
- Panoramica sulla creazione di un modello modificabile
- Descrive le attività di amministrazione/sviluppatore necessarie per creare modelli modificabili
- Descrive le basi tecniche dei modelli modificabili
- Descrive come AEM valuta la disponibilità di un modello
Creazione di un nuovo modello modificabile creating-a-new-template
La creazione di modelli modificabili viene eseguita principalmente con la console modelli e l'editor modelli da un autore di modelli. Questa sezione offre una panoramica di questo processo e segue con una descrizione di ciò che accade a livello tecnico.
Quando crei un modello modificabile:
-
Crea una cartella per i modelli. Questo non è obbligatorio, ma è una best practice consigliata.
-
Seleziona un tipo di modello. Viene copiato per creare la definizione modello.
note note NOTE È disponibile una selezione di tipi di modello pronti all’uso. Se necessario, puoi anche creare tipi di modello specifici per il sito. -
Configura la struttura, i criteri per i contenuti, il contenuto iniziale e il layout del nuovo modello.
Struttura
- La struttura ti consente di definire componenti e contenuti per il modello.
- I componenti definiti nella struttura del modello non possono essere spostati in una pagina risultante né eliminati dalle pagine risultanti.
- Se desideri che gli autori delle pagine possano 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 su come un autore di modelli definisce la struttura, consulta Modelli per creare pagine modificabili con Editor pagina.
Per informazioni tecniche sulla struttura, vedere Struttura in questo documento.
Criteri
-
I criteri per contenuto definiscono le proprietà di progettazione di un componente.
- Ad esempio, i componenti disponibili o le dimensioni minima/massima.
-
Sono applicabili al modello (e alle pagine create con il modello).
Per informazioni dettagliate su come un autore di modelli definisce i criteri, vedere Modelli per creare pagine modificabili con Editor pagina.
Per informazioni tecniche sui criteri, vedi Criteri di contenuto in questo documento.
Contenuto iniziale
- Il contenuto iniziale definisce il contenuto che verrà visualizzato quando una pagina viene creata per la prima volta in base al modello.
- Il contenuto iniziale può quindi essere modificato dagli autori di pagine.
Per informazioni dettagliate su come un autore di modelli definisce la struttura, consulta Modelli per creare pagine modificabili con Editor pagina.
Per informazioni tecniche sul contenuto iniziale, vedere Contenuto iniziale in questo documento.
Layout
- Puoi definire il layout del modello per una serie di dispositivi.
- Il layout reattivo per i modelli funziona come per la creazione delle pagine.
Per informazioni dettagliate su come un autore di modelli definisce il layout del modello, vedere Modelli per creare pagine modificabili con Editor pagina.
Per informazioni tecniche sul layout del modello, vedere Layout in questo documento.
-
Abilita il modello, quindi consenti la creazione di strutture di contenuto specifiche.
- Un modello può essere abilitato o disabilitato per renderlo disponibile o non disponibile agli autori di pagine.
- Un modello può essere reso disponibile o non disponibile per alcuni rami di pagina.
Per informazioni dettagliate su come un autore di modelli abilita un modello, vedere Modelli per creare pagine modificabili con Editor pagina.
Per informazioni tecniche sull'abilitazione di un modello, vedere Abilitazione e autorizzazione di un modelloe in questo documento
-
Utilizzala per creare pagine di contenuto.
- Quando si utilizza un modello per creare una pagina, non vi è alcuna differenza visibile né indicazione tra modelli statici e modificabili.
- Per l’autore della pagina, il processo è trasparente.
Per informazioni dettagliate su come un autore di pagine utilizza i modelli per creare una pagina, vedere Creazione e organizzazione delle pagine.
Per informazioni tecniche sulla creazione di pagine con modelli modificabili, vedere Pagine di contenuto risultanti in questo documento.
cq.shared
nelle pagine di contenuto e, in caso contrario, si verificherà l'errore di JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined
.cq.shared
, pertanto qualsiasi contenuto basato su di esse include automaticamente cq.shared
. Tuttavia, se decidi di creare pagine di contenuto personalizzate da zero senza basarle su contenuto di esempio, devi assicurarti di includere lo spazio dei nomi cq.shared
.Cartelle modelli template-folders
Per organizzare i modelli è possibile utilizzare le cartelle seguenti:
global
- Specifico del sito
In un'istanza AEM standard la cartella global
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. Puoi aggiungere i modelli predefiniti a questa cartella o crearne una (scelta consigliata).
global
.admin
.I tipi di modello e i criteri vengono ereditati in tutte le cartelle in base al seguente ordine di precedenza:
- La cartella corrente
- Elementi padre della cartella corrente
/conf/global
/apps
/libs
Viene creato un elenco di tutte le voci consentite. Se le configurazioni si sovrappongono ( path
/ label
), verrà presentata all'utente solo l'istanza più vicina alla cartella corrente.
Per creare una cartella, puoi effettuare le seguenti operazioni:
- A livello di programmazione o con CRXDE Lite
- Utilizzo di Browser configurazioni
Utilizzo di CRXDE Lite using-crxde-lite
-
È possibile creare una nuova cartella (in /conf) per l’istanza a livello di programmazione o con CRXDE Lite.
Deve essere utilizzata la seguente struttura:
code language-xml /conf <your-folder-name> [sling:Folder] settings [sling:Folder] wcm [cq:Page] templates [cq:Page] policies [cq:Page]
-
Puoi quindi definire le seguenti proprietà sul nodo principale della cartella:
<your-folder-name> [sling:Folder]
- Nome:
jcr:title
- Tipo:
String
- Valore: il titolo (per la cartella) che si desidera visualizzare nella console Modelli.
- Nome:
-
Oltre alle autorizzazioni e ai privilegi di authoring standard (ad esempio,
content-authors
), ora è necessario assegnare i gruppi e definire i diritti di accesso (ACL) necessari affinché gli autori possano creare modelli nella nuova cartella.Il gruppo
template-authors
è il gruppo predefinito che deve essere assegnato. Per informazioni dettagliate, consulta la sezione ACL e gruppi.
Utilizzo del browser configurazioni using-the-configuration-browser
-
Vai a Navigazione globale > Strumenti > Browser configurazioni.
Le cartelle esistenti sono elencate a sinistra, inclusa la cartella
global
. -
Fai clic su Crea.
-
Nella finestra di dialogo Crea configurazione è necessario configurare i campi seguenti:
- Titolo: specifica un titolo per la cartella di configurazione
- Modelli modificabili: selezionare per consentire modelli modificabili in questa cartella
-
Fai clic su Crea.
ACL e gruppi acls-and-groups
Una volta create le cartelle di modelli (tramite CRXDE o con il Browser configurazioni), per garantire la corretta protezione è necessario definire gli ACL per i gruppi appropriati per le cartelle di modelli.
È possibile utilizzare come esempio le cartelle dei modelli per l'esercitazione WKND.
Gruppo di autori di modelli the-template-authors-group
Il gruppo template-authors
è il gruppo utilizzato per gestire l'accesso ai modelli e viene fornito come standard con AEM, ma è vuoto. Gli utenti devono essere aggiunti al gruppo per il progetto/sito.
template-authors
è solo per gli utenti che devono essere in grado di creare nuovi modelli.La tabella seguente descrive le autorizzazioni necessarie per la modifica dei modelli.
Questo gruppo template-authors
predefinito copre solo le impostazioni del progetto, in cui tutti i membri template-authors
possono accedere e creare tutti i modelli. Per impostazioni più complesse, in cui sono necessari più gruppi di autori di modelli per separare l’accesso ai modelli, è necessario creare più gruppi di autori di modelli personalizzati. Tuttavia, le autorizzazioni per i gruppi di autori di modelli continuerebbero a essere le stesse.
Tipo di modello template-type
Durante la creazione di un modello è necessario specificare un tipo di modello:
-
I tipi di modello forniscono in modo efficace i modelli per un modello. Durante la creazione di un modello, per creare il nuovo modello vengono utilizzati la struttura e il contenuto iniziale del tipo di modello selezionato.
- Il tipo di modello viene copiato per creare il modello.
- Una volta eseguita la copia, l'unica connessione tra il modello e il tipo di modello è un riferimento statico a scopo informativo.
-
I tipi di modello consentono di definire:
- Tipo di risorsa del componente Pagina.
- Il criterio del nodo principale, che definisce i componenti consentiti nell’editor di modelli.
- È consigliabile definire i punti di interruzione per la griglia reattiva e la configurazione dell’emulatore mobile in sul tipo di modello.
-
AEM fornisce una piccola selezione di tipi di modelli predefiniti, ad esempio Pagina di HTML5 e Pagina modulo adattivo.
- Esempi aggiuntivi vengono forniti come parte dell'esercitazione WKND.
-
I tipi di modello vengono in genere definiti dagli sviluppatori.
I tipi di modello preconfigurati sono memorizzati in:
/libs/settings/wcm/template-types
/libs
. Questo perché il contenuto di /libs
può essere sovrascritto in qualsiasi momento da un aggiornamento dell'AEM.I tipi di modello specifici per il sito devono essere memorizzati nella posizione simile di:
/apps/settings/wcm/template-types
Le definizioni per i tipi di modelli personalizzati devono essere memorizzate in cartelle definite dall'utente (scelta consigliata) o in alternativa in global
. Ad 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
/settings/wcm/...
), altrimenti i tipi di modello non verranno trovati.Creazione di tipi di modello creating-template-types
Se è stato creato un modello che può fungere da base per altri modelli, è possibile copiarlo come tipo di modello.
- Crea un modello come faresti con qualsiasi modello pagina. Consulta Modelli per creare pagine modificabili con Editor pagina. Questo fungerà da base per il tipo di modello.
- Utilizzando CRXDE Lite, copiare il modello creato dal nodo
templates
al nodotemplate-types
nella cartella modelli. - Elimina il modello dal nodo
templates
nella cartella modelli. - Nella copia del modello presente nel nodo
template-types
, eliminare tutte le proprietàcq:template
ecq:templateType
da tutti i nodijcr:content
.
Puoi anche sviluppare un tipo di modello personalizzato utilizzando come base un modello modificabile di esempio, disponibile su GitHub.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
- Apri progetto aem-sites-example-custom-template-type su GitHub
- Scarica il progetto come file ZIP
Definizioni dei modelli template-definitions
Le definizioni per i modelli modificabili sono archiviate cartelle definite dall'utente (consigliato) o in alternativa in global
. Ad 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 i seguenti:
-
<template-name>
[initial](#initial-content)
jcr:content
[structure](#structure)
[policies](#policies)
thumbnail.png
jcr:content jcr-content
Questo nodo contiene le proprietà per il modello:
-
Nome:
jcr:title
-
Nome:
status
- "Tipo:
String
- Valore:
draft
,enabled
odisabled
- "Tipo:
Struttura structure
Definisce la struttura della pagina risultante:
-
Viene unito al contenuto iniziale (
/initial
) durante la creazione di una pagina. -
Le modifiche apportate alla struttura vengono applicate a tutte le pagine create con il modello.
-
Il nodo
root
(structure/jcr:content/root
) definisce l'elenco dei componenti disponibili nella pagina risultante.- I componenti definiti nella struttura del modello non possono essere spostati o eliminati dalle pagine risultanti.
- Dopo lo sblocco di un componente, la proprietà
editable
è impostata sutrue
. - Dopo lo sblocco di un componente che contiene già contenuto, questo contenuto viene spostato nel ramo
initial
.
-
Il nodo
cq:responsive
contiene le definizioni per il layout reattivo.
Contenuto iniziale initial-content
Definisce il contenuto iniziale di una nuova pagina al momento della creazione:
- Contiene un nodo
jcr:content
copiato in qualsiasi nuova pagina. - Viene unito alla struttura (
/structure
) durante la creazione di una pagina. - Le pagine esistenti non verranno aggiornate se il contenuto iniziale viene modificato dopo la creazione.
- Il nodo
root
contiene un elenco di componenti per definire ciò che è disponibile nella pagina risultante. - Se il contenuto viene aggiunto a un componente in modalità struttura e successivamente viene sbloccato (o viceversa), tale contenuto viene utilizzato come contenuto iniziale.
Layout layout
Quando modifichi un modello, puoi definire il layout, questo utilizza il layout responsivo standard, che può essere configurato nella pagina dall'autore di contenuto.
Criteri per contenuto content-policies
I criteri per contenuto definiscono le proprietà di progettazione di un componente. Ad esempio, i componenti disponibili o le dimensioni minime/massime. Sono applicabili al modello (e alle pagine create con il modello). I criteri per i contenuti possono essere creati e selezionati nell’editor modelli.
-
La proprietà
cq:policy
nel nodoroot
/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 del componente inroot
, 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
cq:policy
contiene un riferimento relativo alla configurazione stessa.Criteri di pagina page-policies
I criteri di pagina consentono di definire il criterio contenuto per la pagina (parsys principale), nel modello o nelle pagine risultanti.
Abilitazione e autorizzazione di un modello per l’utilizzo enabling-and-allowing-a-template-for-use
-
Abilita il modello
Prima di poter utilizzare un modello, è necessario abilitarlo in uno dei modi seguenti:
-
Abilitazione del modello dalla console Modelli.
-
Impostazione della proprietà di stato nel nodo
jcr:content
.-
Ad esempio, su:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
-
Definisci la proprietà:
- Nome: stato
- Tipo: String
- Valore:
enabled
-
-
-
Modelli consentiti
-
Definisci i percorsi dei modelli consentiti nelle Proprietà pagina della pagina appropriata o della pagina principale di un ramo secondario.
-
Imposta la proprietà:
cq:allowedTemplates
Nel nodojcr:content
del ramo richiesto.
Ad esempio, con un valore di:
/conf/<your-folder>/settings/wcm/templates/.*
-
Pagine di contenuto risultanti resultant-content-pages
Pagine create da modelli modificabili:
-
Sono state create con una sottostruttura unita da
structure
einitial
nel modello -
Includere riferimenti alle informazioni contenute nel modello e nel tipo di modello. Ciò si ottiene con un nodo
jcr:content
con le proprietà:-
cq:template
- Fornisce il riferimento dinamico al modello effettivo; consente di riflettere le modifiche al modello sulle pagine effettive. -
cq:templateType
- Fornisce un riferimento al tipo di modello.
-
Il diagramma precedente mostra l’interrelazione tra modelli, contenuto e componenti:
- 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 criteri dei contenuti correlati definiscono la configurazione della pagina. - Modello - Bundle OSGi - Bundle OSGi implementano la funzionalità.
- Visualizzazione -
/apps/<my-site>/components
- Negli ambienti di authoring e di pubblicazione il contenuto viene riprodotto dai componenti.
Durante il rendering di una pagina:
-
Modelli:
- Per accedere al modello corrispondente alla pagina, viene fatto riferimento alla proprietà
cq:template
del nodojcr:content
.
- Per accedere al modello corrispondente alla pagina, viene fatto riferimento alla proprietà
-
Componenti:
-
Il componente page unirà la struttura
structure/jcr:content
del modello alla strutturajcr:content
della pagina.- Il componente Pagina consente all’autore di modificare solo i nodi della struttura del modello contrassegnati come modificabili (e gli eventuali elementi secondari).
- Durante il rendering di un componente su una pagina, il percorso relativo di tale componente viene preso dal nodo
jcr:content
; verrà quindi cercato lo stesso percorso nel nodopolicies/jcr:content
del modello.- La proprietà
cq:policy
di questo nodo punta al criterio del contenuto effettivo, ovvero contiene la configurazione di progettazione per quel componente.- In questo modo è possibile disporre di più modelli che riutilizzano le stesse configurazioni dei criteri per i contenuti.
- La proprietà
-
Disponibilità dei modelli template-availability
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 è consentito utilizzare un modello T
per inserire 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/wknd/templates/foo
appartiene alla stessa applicazione della pagina/content/wknd
. -
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:
-
solo la proprietà
cq:allowedTemplates
-
solo nella directory principale del sito
/content/wknd/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.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/wknd/templates/page-content
.
È possibile utilizzare la proprietà cq:allowedTemplates
nel nodo jcr:content
del modello per applicare questa configurazione a tutte le pagine 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.