Modelli di pagina - Modificabili page-templates-editable
Sono stati introdotti modelli modificabili per:
-
Consenti agli autori specializzati di creare e modificare modelli.
- Questi autori specializzati sono chiamati autori di modelli
- Gli autori dei modelli devono essere membri del gruppo
template-authors
gruppo.
-
Fornisci modelli che mantengono una connessione dinamica a tutte le pagine create da essi. In questo modo tutte le modifiche apportate al modello verranno applicate alle pagine stesse.
-
Rendete il componente pagina più generico in modo che il componente pagina di base possa essere utilizzato senza personalizzazione.
Con i modelli modificabili, le parti che compongono una pagina vengono isolate all’interno dei componenti. È possibile configurare le combinazioni di componenti necessarie in un’interfaccia utente, eliminando in tal modo la necessità di sviluppare un nuovo componente di pagina per ogni variante di pagina.
Questo documento:
-
Offre una panoramica della creazione di modelli modificabili
- Per maggiori dettagli vedi Creazione di modelli di pagina
-
Descrive le attività di amministrazione/sviluppatore necessarie per creare modelli modificabili
-
Descrive le basi tecniche dei modelli modificabili
Questo documento presuppone che tu abbia già familiarità con la creazione e la modifica dei modelli. Vedere il documento di authoring Creazione di modelli di pagina, che descrive le funzionalità dei modelli modificabili esposte all’autore del modello.
Guida introduttiva ad AEM Sites Parte 2 - Creazione di una pagina e di un modello di base
Creazione di un nuovo modello creating-a-new-template
La creazione di modelli modificabili viene eseguita principalmente con console e editor modelli da un autore di modelli. Questa sezione fornisce una panoramica di questo processo e ne segue una descrizione a livello tecnico.
Per informazioni su come utilizzare i modelli modificabili in un progetto AEM consulta Creazione di un progetto AEM utilizzando Lazybones.
Quando crei un nuovo modello modificabile:
-
Crea un cartella dei modelli. Questa operazione non è obbligatoria, ma è consigliata la best practice.
-
Seleziona una tipo di modello. Viene copiato per creare il definizione del modello.
note note NOTE Viene fornita una selezione di tipi di modelli pronti all’uso. È inoltre possibile creare tipi di modelli specifici per il sito se necessario. -
Configura la struttura, i criteri dei 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 su una pagina risultante né eliminati da alcuna pagina risultante.
- Se crei un modello in una cartella personalizzata al di fuori del contenuto di esempio di We.Retail, puoi scegliere Componenti di base o utilizzare Componenti core.
-
Se desideri che gli autori delle pagine siano in grado di aggiungere e rimuovere componenti, aggiungi al modello un sistema di paragrafi.
-
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 Creazione di modelli di pagina.
Per i dettagli tecnici della struttura, vedi Struttura in questo documento.
Criteri
-
I criteri dei contenuti 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, consulta Creazione di modelli di pagina.
Per informazioni tecniche sulle politiche, consulta 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 delle pagine.
Per informazioni dettagliate su come un autore di modelli definisce la struttura, consulta Creazione di modelli di pagina.
Per informazioni tecniche sul contenuto iniziale, consulta Contenuto iniziale in questo documento.
Layout
- È possibile 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 sulla definizione del layout del modello da parte dell’autore, consulta Creazione di modelli di pagina.
Per informazioni tecniche sul layout dei modelli, consulta Layout in questo documento.
-
-
Abilita il modello, quindi lo consenti per 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, consulta Creazione di modelli di pagina.
Per informazioni tecniche sull’abilitazione di un modello, consulta Abilitazione e autorizzazione di un modello per noie in questo documento
-
Utilizzalo per creare pagine di contenuto.
- Quando si utilizza un modello per creare una nuova pagina, non vi è alcuna differenza visibile e nessuna 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, consulta Creazione e organizzazione delle pagine.
Per informazioni tecniche sulla creazione di pagine con modelli modificabili, consulta Pagine dei contenuti risultanti in questo documento.
cq.shared
spazio dei nomi nelle pagine di contenuto e se è assente nell'errore JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined
risulterà.cq.shared
, quindi qualsiasi contenuto basato su di essi include automaticamente cq.shared
. Tuttavia, se decidi di creare da zero pagine di contenuto personalizzate senza basarle su contenuti di esempio, devi assicurarti di includere il cq.shared
spazio dei nomi.Cartelle dei modelli template-folders
Per organizzare i modelli è possibile 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 di privilegi di amministratore.
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. È possibile aggiungere i modelli predefiniti a questa cartella o creare una nuova cartella (scelta consigliata).
admin
diritti.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/i della cartella corrente.
/conf/global
/apps
/libs
Viene creato un elenco di tutte le voci consentite. Se una qualsiasi configurazione si sovrappone ( path
/ label
), all’utente viene presentata solo l’istanza più vicina alla cartella corrente.
Per creare una nuova cartella è possibile effettuare le seguenti operazioni:
- Programmaticamente o con CRXDE Lite
- Utilizzo del browser di configurazione
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: Titolo (per la cartella) che si desidera visualizzare nel Modelli console.
- Tipo:
-
In aggiunta alle autorizzazioni e ai privilegi di authoring standard (ad esempio
content-authors
) devi ora assegnare i gruppi e definire i diritti di accesso richiesti (ACL, Access Rights) affinché gli autori possano creare modelli nella nuova cartella.La
template-authors
gruppo è il gruppo predefinito che deve essere assegnato. Vedi la sezione seguente ACL e gruppi per i dettagli.Vedi Accesso alla gestione dei diritti per informazioni complete sulla gestione e l'assegnazione dei diritti di accesso.
Utilizzo del browser di configurazione using-the-configuration-browser
-
Vai a Navigazione globale -> Strumenti > Browser di configurazione.
Le cartelle esistenti sono elencate a sinistra, tra cui globale cartella.
-
Fai clic su Crea.
-
In Crea configurazione è necessario configurare i campi seguenti nella finestra di dialogo:
- Titolo: Fornire un titolo per la cartella di configurazione
- Modelli modificabili: Selezione di modelli modificabili all’interno della cartella
-
Fai clic su Crea
ACL e gruppi acls-and-groups
Una volta create le cartelle dei modelli (tramite CRXDE o con il browser di configurazione), le ACL devono essere definite per i gruppi appropriati per le cartelle dei modelli per garantire la corretta sicurezza.
Le cartelle di modelli per Implementazione di riferimento di We.Retail può essere utilizzato come esempio.
Gruppo autori modelli the-template-authors-group
La template-authors
gruppo è il gruppo utilizzato per gestire l’accesso ai modelli ed è standard con AEM, ma è vuoto. Gli utenti devono essere aggiunti al gruppo per il progetto/sito.
template-authors
gruppo only per gli utenti che devono essere in grado di creare nuovi modelli.Nella tabella seguente sono descritte le autorizzazioni necessarie per la modifica dei modelli.
Questa impostazione predefinita template-authors
il gruppo copre solo le impostazioni del progetto, dove tutte template-authors
i membri possono accedere e creare tutti i modelli. Per configurazioni più complesse, in cui sono necessari gruppi di autori di modelli multipli per separare l’accesso ai modelli, è necessario creare gruppi di autori di modelli più personalizzati. Tuttavia, le autorizzazioni per i gruppi di autori dei modelli rimarrebbero invariate.
Modelli legacy sotto /conf/global legacy-templates-under-conf-global
I modelli non devono più essere memorizzati in /conf/global
tuttavia, per alcune installazioni legacy potrebbero essere ancora presenti modelli in questa posizione. SOLO in tali situazioni precedenti dovrebbe /conf/global
i percorsi devono essere configurati in modo esplicito.
Tipo di modello template-type
Quando si crea un nuovo modello, è necessario specificare un tipo di modello:
-
I tipi di modello forniscono efficacemente i modelli per un modello. Quando si crea un nuovo modello, la struttura e il contenuto iniziale del tipo di modello selezionato vengono utilizzati per creare il nuovo modello.
- Il tipo di modello viene copiato per creare il modello.
- Una volta effettuata 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:
- Il tipo di risorsa del componente pagina.
- Il criterio del nodo principale, che definisce i componenti consentiti nell’editor modelli.
- È consigliabile definire i punti di interruzione per la griglia reattiva e la configurazione dell’emulatore mobile in sul tipo di modello. Questo è facoltativo, perché la configurazione può essere definita anche sul 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.
- Altri esempi sono forniti come parte del We.Retail contenuto di esempio.
-
I tipi di modello sono generalmente definiti dagli sviluppatori.
I tipi di modelli predefiniti sono memorizzati in:
/libs/settings/wcm/template-types
/libs
percorso. Questo perché il contenuto di /libs
viene sovrascritto la prossima volta che aggiorni l’istanza (e può essere sovrascritto quando applichi un hotfix o un feature pack).I tipi di modelli specifici per il sito devono essere memorizzati nel percorso comparabile di:
/apps/settings/wcm/template-types
Le definizioni dei tipi di modelli personalizzati devono essere memorizzate in cartelle definite dall'utente (consigliato) 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.Tipo di modello e gruppi di dispositivi mobili template-type-and-mobile-device-groups
La gruppi di dispositivi utilizzato per un modello modificabile (impostato come percorso relativo della proprietà cq:deviceGroups
) definisci quali dispositivi mobili sono disponibili come emulatori nel modalità layout di authoring delle pagine. Questo valore può essere impostato in due posizioni:
- Sul tipo di modello modificabile
- Sul modello modificabile
Quando si crea 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 un modello, non esiste alcuna ereditarietà dal tipo al modello.
cq:deviceGroups
deve essere impostato come percorso relativo, ad esempio mobile/groups/responsive
e non come percorso assoluto come /etc/mobile/groups/responsive
.cq:deviceGroups
potrebbe essere impostato nella directory principale del sito.Creazione di tipi di modelli creating-template-types
Se hai creato un modello che può fungere da base per altri modelli, puoi copiarlo come tipo di modello.
- Crea un modello come qualsiasi altro modello modificabile come documentato qui, che fungerà da base per il tipo di modello.
- Utilizzando CRXDE Lite, copia il modello appena creato dal
templates
al nodotemplate-types
sotto il nodo cartella dei modelli. - Elimina il modello dal
templates
sotto il nodo cartella dei modelli. - Nella copia del modello che si trova sotto il
template-types
nodo, elimina tuttocq:template
ecq:templateType
jcr:content
proprietà.
Puoi 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
- Apri progetto aem-sites-example-custom-template-type su GitHub
- Scarica il progetto come un file ZIP
Definizioni dei modelli template-definitions
Vengono memorizzate le definizioni dei modelli modificabili 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 struttura ossea 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:
jcr:content jcr-content
Questo nodo contiene le proprietà del 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 nuova pagina. -
Le modifiche apportate alla struttura verranno applicate a tutte le pagine create con il modello.
-
La
root
(structure/jcr:content/root
Il nodo ) definisce l’elenco dei componenti che saranno disponibili nella pagina risultante.- I componenti definiti nella struttura del modello non possono essere spostati o eliminati dalle pagine risultanti.
- Quando un componente viene sbloccato, la
editable
è impostata sutrue
. - Quando un componente che contiene già è sbloccato, il contenuto viene spostato in
initial
ramo.
-
La
cq:responsive
node contiene le definizioni del layout dinamico.
Contenuto iniziale initial-content
Definisce il contenuto iniziale di una nuova pagina al momento della creazione:
- Contiene un
jcr:content
che viene copiato in una nuova pagina. - È unito alla struttura (
/structure
) durante la creazione di una nuova pagina. - Eventuali pagine esistenti non verranno aggiornate se il contenuto iniziale viene modificato dopo la creazione.
- La
root
node contiene un elenco di componenti per definire cosa sarà disponibile nella pagina risultante. - Se il contenuto viene aggiunto a un componente in modalità struttura e successivamente viene sbloccato (o viceversa), viene utilizzato come contenuto iniziale.
Layout layout
Quando modifica di un modello da definire, utilizza layout dinamico standard che può anche configurato.
Criteri di contenuto content-policies
I criteri di progettazione o di 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). I criteri del contenuto possono essere creati e selezionati nell’editor modelli.
-
La proprietà
cq:policy
, sulroot
nodo/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
, sui nodi espliciti del componente sottoroot
, 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
la struttura 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>
Criteri di pagina page-policies
I criteri di pagina consentono di definire informativa sui contenuti per la pagina (parsys principale), nel modello o nelle pagine risultanti.
Abilitazione e autorizzazione di un modello per l’uso enabling-and-allowing-a-template-for-use
-
Attiva il modello
Prima di poter utilizzare un modello, è necessario attivarlo tramite:
-
Abilitazione del modello dal Modelli console.
-
Impostazione della proprietà di stato nel
jcr:content
nodo.-
Ad esempio, su:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
-
Definisci la proprietà:
- Nome: status
- Tipo: Stringa
- Valore:
enabled
-
-
-
Modelli consentiti
-
Definisci i percorsi dei modelli consentiti nel Proprietà pagina della pagina o della pagina principale appropriata di un ramo secondario.
-
Imposta la proprietà:
cq:allowedTemplates
Sulla
jcr:content
nodo del ramo richiesto.
Ad esempio, con un valore di:
/conf/<your-folder>/settings/wcm/templates/.*;
-
Pagine dei contenuti risultanti resultant-content-pages
Pagine create da modelli modificabili:
-
Sono create con una sottostruttura da cui è stata eseguita l’unione
structure
einitial
nel modello -
Avere riferimenti alle informazioni contenute nel modello e nel tipo di modello. Ciò è possibile con un
jcr:content
nodo con le proprietà:-
cq:template
Fornisce il riferimento dinamico al modello effettivo; consente di visualizzare le modifiche apportate al modello nelle pagine effettive.
-
cq:templateType
Fornisce un riferimento al tipo di modello.
-
Il diagramma precedente mostra come i modelli, i contenuti e i componenti si rapportano:
-
Controller -
/content/<my-site>/<my-page>
La 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>
La criteri di contenuto e modelli correlati definisci la configurazione della pagina.
-
Modello - Bundle OSGi
La Bundle OSGI implementa la funzionalità .
-
Visualizzazione -
/apps/<my-site>/components
Sia nell’ambiente di authoring che in quello di pubblicazione, il rendering del contenuto viene eseguito da componenti.
Durante il rendering di una pagina:
-
Modelli:
- La
cq:template
proprietàjcr:content
verrà fatto riferimento al nodo per accedere al modello corrispondente a tale pagina.
- La
-
Componenti:
-
Il componente pagina unisce il
structure/jcr:content
struttura del modello conjcr:content
struttura della pagina. -
Il componente pagina consente solo all’autore di modificare i nodi della struttura del modello che sono stati 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 ricavato dal
jcr:content
nodo; lo stesso percorsopolicies/jcr:content
Viene quindi eseguita la ricerca nel nodo del modello.- La
cq:policy
di questo nodo fa riferimento al criterio del contenuto effettivo (ovvero contiene la configurazione di progettazione per quel componente). - Questo consente di avere più modelli che riutilizzano le stesse configurazioni dei criteri per i contenuti.
- La
-