Modelli di pagina - Modificabili page-templates-editable
Sono stati introdotti modelli modificabili per:
-
Consenti agli autori specializzati di creare e modificare modelli.
- Tali autori specializzati sono denominati autori di modelli
- Gli autori dei modelli devono essere membri del gruppo
template-authors
.
-
Fornisci modelli che mantengano una connessione dinamica a qualsiasi pagina creata da essi. In questo modo, eventuali modifiche al modello verranno applicate anche alle pagine.
-
Rendi il componente Pagina più generico, in modo che il componente Pagina principale possa essere utilizzato senza personalizzazione.
Con i modelli modificabili, le parti che compongono una pagina vengono isolate all’interno dei componenti. Puoi configurare le combinazioni di componenti necessarie in un’interfaccia utente in modo da eliminare la necessità di sviluppare un nuovo componente pagina per ogni variante di pagina.
Questo documento:
-
Panoramica sulla creazione di modelli modificabili
- Per ulteriori dettagli, vedere Creazione di modelli di pagina
-
Descrive le attività di amministrazione/sviluppatore necessarie per creare modelli modificabili
-
Descrive le basi tecniche dei modelli modificabili
In questo documento si presuppone che tu abbia già familiarità con la creazione e la modifica di modelli. Consulta il documento di authoring Creazione di modelli di pagina, che descrive le funzionalità dei modelli modificabili esposti all'autore del modello.
Guida introduttiva ad AEM Sites Parte 2 - Creazione di una pagina base e di un modello
Creazione di un nuovo modello 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.
Per informazioni sull'utilizzo di modelli modificabili in un progetto AEM, vedere Creazione di un progetto AEM tramite Lazybones.
Quando crei un modello modificabile:
-
Crea una cartella per i modelli. Questa cartella non è obbligatoria, ma è una best practice consigliata.
-
Seleziona un tipo di modello. Questo tipo 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 si crea un modello in una cartella personalizzata all'esterno del contenuto di esempio di
We.Retail
, è possibile scegliere Componenti di base o utilizzare Componenti core.
- Se si crea un modello in una cartella personalizzata all'esterno del contenuto di esempio di
-
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, vedere Creazione di modelli di 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.
-
Questi criteri sono applicabili al modello (e alle pagine create con il modello).
Per informazioni dettagliate su come un autore di modelli definisce i criteri, vedere Creazione di modelli di pagina.
Per informazioni tecniche sui criteri, vedi Criteri di contenuto in questo documento.
Contenuto iniziale
- Il contenuto iniziale definisce il contenuto 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, vedere Creazione di modelli di 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 Creazione di modelli di 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 Creazione di modelli di 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. Se assente, si verifica l'errore 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, puoi utilizzare le cartelle seguenti:
- globale
- Specifico del sito
Le cartelle specifiche del sito create per organizzare i modelli vengono create con un account che dispone dei privilegi di amministratore.
In un'istanza AEM standard, la cartella global esiste nella console modelli. Questa cartella contiene 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).
admin
.I tipi di modello e i criteri vengono ereditati in tutte le cartelle in base al seguente ordine di precedenza:
- La cartella corrente.
- Elemento 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, effettuare le seguenti operazioni:
- A livello di programmazione o con CRXDE Lite
- Utilizzo del 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.
-
-
In aggiunta alle autorizzazioni e ai privilegi di authoring standard (ad esempio,
content-authors
), assegna gruppi e definisci 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 ulteriori informazioni, vedere la sezione ACL e gruppi.Consulta Gestione dei diritti di accesso per informazioni dettagliate sulla gestione e l'assegnazione dei diritti di accesso.
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
Dopo aver creato 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.
Le cartelle dei modelli per l'implementazione di riferimento We.Retail
possono essere utilizzate come esempio.
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
è only per gli utenti che devono essere in grado di creare 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, dove è necessario che più gruppi di autori di modelli separino 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.
Modelli legacy in /conf/global legacy-templates-under-conf-global
Non archiviare i modelli in /conf/global
. Tuttavia, per alcune installazioni legacy, potrebbero ancora essere presenti modelli in questa posizione. Solo in tali situazioni legacy deve essere configurato in modo esplicito i seguenti /conf/global
percorsi.
Tipo di modello template-type
Durante la creazione di un modello, specificare un tipo di modello:
-
I tipi di modello forniscono in modo efficace i modelli per un modello. Durante la creazione di un 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.
- L’Adobe consiglia di definire i punti di interruzione per la griglia reattiva e la configurazione dell’emulatore mobile in sul tipo di modello. Questo passaggio è facoltativo, perché la configurazione può essere definita anche nel singolo modello (vedi Tipo di modello e Gruppi di dispositivi mobili).
-
AEM fornisce una piccola selezione di tipi di modelli predefiniti, ad esempio Pagina di HTML5 e Pagina modulo adattivo.
- Ulteriori esempi vengono forniti come parte del contenuto di esempio
We.Retail
.
- Ulteriori esempi vengono forniti come parte del contenuto di esempio
-
I tipi di modello vengono in genere definiti dagli sviluppatori.
I tipi di modello preconfigurati sono memorizzati in:
/libs/settings/wcm/template-types
/libs
. Il motivo è che 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 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 vengono trovati.Tipo di modello e gruppi di dispositivi mobili template-type-and-mobile-device-groups-br
I gruppi di dispositivi utilizzati per un modello modificabile (impostato 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:
- Sul tipo di modello modificabile
- Sul modello modificabile
Quando si crea un 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 un modello, non vi è alcuna ereditarietà dal tipo al modello.
cq:deviceGroups
deve essere impostato come percorso relativo come mobile/groups/responsive
e non come percorso assoluto come /etc/mobile/groups/responsive
.cq:deviceGroups
nella directory principale del sito.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 modificabile. Consulta Creazione di modelli di pagina. Questo può fungere da base per il tipo di modello.
- Utilizzando CRXDE Lite, copia il modello appena 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
-
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
viene 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. - Tutte le pagine esistenti vengono 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 tale componente viene successivamente sbloccato (o viceversa), tale contenuto viene utilizzato come contenuto iniziale.
Layout layout
Quando modifichi un modello, puoi definire il layout. Questa esercitazione utilizza il layout responsivo standard che può anche essere configurato.
Criteri per contenuto content-policies
I criteri di contenuto (o progettazione) definiscono le proprietà di progettazione di un componente, ad esempio la disponibilità del componente o le dimensioni minima/massima. Questi criteri 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.policies
di un modello modificabile ha la stessa gerarchia della configurazione in modalità progettazione di un modello statico in:/etc/designs/<my-site>/jcr:content/<component-name>
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. È possibile ottenere questa funzionalità con un nodo
jcr:content
con le proprietà:-
cq:template
Fornisce il riferimento dinamico al modello effettivo e 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
I bundle OSGI implementano la funzionalità. -
Visualizza -
/apps/<my-site>/components
Sia negli ambienti di authoring che in quelli di pubblicazione, il rendering del contenuto viene eseguito da 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 unisce la struttura
structure/jcr:content
del modello con la 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
; viene quindi cercato lo stesso percorso sotto il 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. -
Questa funzionalità consente di disporre di più modelli che riutilizzano le stesse configurazioni dei criteri per i contenuti.
-
-