Modelli di pagina

Quando crei una pagina devi selezionare un modello. Il modello di pagina viene utilizzato come base per la nuova pagina. Il modello definisce la struttura della pagina risultante, eventuali contenuti iniziali e i componenti che possono essere utilizzati (proprietà di progettazione). Questo offre diversi vantaggi:

  • I modelli di pagina consentono 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.
  • I modelli di pagina 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.
  • I modelli di pagina rendono il componente pagina più generico, in modo che possa essere utilizzato senza personalizzazione.

Con Modelli di pagina, 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 un modello di pagina
  • 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
NOTA

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.

SUGGERIMENTO

Esercitazione WKND illustra in dettaglio l’utilizzo dei modelli di pagina mediante l’implementazione di un esempio ed è utile per comprendere come impostare un modello in un nuovo progetto

Creazione di un nuovo modello

La creazione di modelli di pagina 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.

Durante la creazione di un nuovo modello modificabile:

  1. Crea un cartella dei modelli. Questa operazione non è obbligatoria, ma è consigliata la best practice.

  2. Seleziona una tipo di modello. Viene copiato per creare il definizione del modello.

    NOTA

    Viene fornita una selezione di tipi di modelli pronti all’uso. È inoltre possibile creare tipi di modelli specifici per il sito se necessario.

  3. 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 desideri che gli autori delle pagine siano in grado di 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 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 minime e massime.
    • Questi sono applicabili al modello (e alle pagine create con tale 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.

  4. 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

  5. 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.

SUGGERIMENTO

Non inserire mai informazioni che devono essere internazionalizzate in un modello. Ai fini dell'internalizzazione, la funzioni di localizzazione dei componenti core sono consigliati.

NOTA

I modelli sono strumenti potenti per semplificare il flusso di lavoro di creazione delle pagine. Tuttavia, troppi modelli possono sopraffare gli autori e confondere la creazione di pagine. Una buona regola è mantenere il numero di modelli sotto i 100.

Adobe consiglia di non disporre di più di 1000 modelli a causa di potenziali impatti sulle prestazioni.

NOTA

La libreria client dell'editor presuppone la presenza di cq.shared spazio dei nomi nelle pagine di contenuto e se è assente nell'errore JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined risulterà.

Tutte le pagine di contenuto di esempio contengono 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.

Vedi Utilizzo delle librerie lato client per ulteriori informazioni.

Cartelle dei modelli

Per organizzare i modelli è possibile utilizzare le cartelle seguenti:

  • global
  • Specifico del sito
NOTA

Anche se è possibile nidificare le cartelle, quando l’utente le visualizza nel Modelli console sono presentate come una struttura piatta.

In un'istanza AEM standard global cartella già esistente 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).

NOTA

È consigliabile creare una nuova cartella contenente i modelli personalizzati e non utilizzare la global cartella.

ATTENZIONE

Le cartelle devono essere create da un utente con admin diritti.

I tipi di modello e i criteri vengono ereditati in tutte le cartelle in base al seguente ordine di precedenza:

  1. La cartella corrente
  2. Elemento padre/i della cartella corrente
  3. /conf/global
  4. /apps
  5. /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:

Utilizzo di CRXDE Lite

  1. È possibile creare una nuova cartella (in /conf) per l’istanza a livello di programmazione o con CRXDE Lite.

    Deve essere utilizzata la seguente struttura:

    /conf
        <your-folder-name> [sling:Folder]
            settings [sling:Folder]
                wcm [cq:Page]
                    templates [cq:Page]
                    policies [cq:Page]
    
  2. 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.
  3. Oltre alle autorizzazioni e ai privilegi standard per l’authoring (ad es. 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 ACL e gruppi per i dettagli.

Utilizzo del browser di configurazione

  1. Vai a Navigazione globale -> Strumenti > Browser di configurazione.

    Le cartelle esistenti sono elencate a sinistra, tra cui global cartella.

  2. Fai clic su Crea.

  3. 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
  4. Fai clic su Crea

NOTA

In Browser di configurazione, puoi modificare la cartella globale e attivare la Modelli modificabili se desideri creare modelli all’interno di questa cartella, tuttavia questa non è la best practice consigliata.

ACL e gruppi

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 Esercitazione WKND può essere utilizzato come esempio.

Gruppo autori modelli

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.

ATTENZIONE

La template-authors Il gruppo è destinato solo agli utenti che devono essere in grado di creare nuovi modelli.

La modifica dei modelli è molto potente e, se non viene eseguita correttamente, i modelli esistenti possono essere interrotti. Pertanto questo ruolo dovrebbe essere concentrato e includere solo gli utenti qualificati.

Nella tabella seguente sono descritte le autorizzazioni necessarie per la modifica dei modelli.

Percorso Ruolo/Gruppo Autorizzazioni
Descrizione
/conf/<your-folder>/settings/wcm/templates Autori di modelli
leggere, scrivere, replicare Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli in siti specifici /conf spazio
Utente web anonimo read Utente web anonimo deve leggere i modelli durante il rendering di una pagina
Autori di contenuti replicare Gli autori replicateContent devono attivare i modelli di una pagina quando si attiva una pagina
/conf/<your-folder>/settings/wcm/policies Template Author leggere, scrivere, replicare Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli in siti specifici /conf spazio
Utente web anonimo read L'utente web anonimo deve leggere i criteri durante il rendering di una pagina
Autori di contenuti replicare Quando si attiva una pagina, gli autori dei contenuti devono attivare i criteri di un modello di pagina
/conf/<site>/settings/template-types Autore del modello read L’autore del modello crea un nuovo modello basato su uno dei tipi di modello predefiniti.
Utente web anonimo nessuno L'utente Web anonimo non deve accedere ai tipi di modello

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.

Tipo di modello

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.
  • AEM fornisce una piccola selezione di tipi di modelli predefiniti, ad esempio Pagina di HTML5 e Pagina modulo adattivo.

  • I tipi di modello sono generalmente definiti dagli sviluppatori.

I tipi di modelli predefiniti sono memorizzati in:

  • /libs/settings/wcm/template-types
ATTENZIONE

Non devi cambiare nulla nel /libs percorso. Questo perché il contenuto di /libs può essere sovrascritto in qualsiasi momento da un aggiornamento a AEM.

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
ATTENZIONE

I tipi di modello devono rispettare la struttura di cartelle corretta (ovvero /settings/wcm/...), altrimenti i tipi di modello non verranno trovati.

Creazione di tipi di modelli

Se hai creato un modello che può fungere da base per altri modelli, puoi copiarlo come tipo di modello.

  1. Crea un modello come faresti con un modello di pagina come documentato qui, che fungerà da base per il tipo di modello.
  2. Utilizzando CRXDE Lite, copia il modello appena creato dal templates al nodo template-types sotto il nodo cartella dei modelli.
  3. Elimina il modello dal templates sotto il nodo cartella dei modelli.
  4. Nella copia del modello che si trova sotto il template-types nodo, elimina tutto cq:template e cq: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

Definizioni dei modelli

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:

  • <template-name>

    • [initial](#initial-content)
    • jcr:content
    • [structure](#structure)
    • [policies](#policies)
    • thumbnail.png

jcr:content

Questo nodo contiene le proprietà del modello:

  • Nome: jcr:title
  • Nome: status
    • ``Tipo: String
    • Valore: draft, enabled o disabled

Struttura

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/rootIl 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 su true.
    • 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

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

Quando modifica di un modello da definire, utilizza layout dinamico standard.

Criteri di contenuto

I criteri dei contenuti definiscono le proprietà di progettazione di un componente. Ad esempio, i componenti disponibili o le dimensioni minime e massime. Questi sono applicabili al modello (e alle pagine create con tale modello). I criteri del contenuto possono essere creati e selezionati nell’editor modelli.

  • La proprietà cq:policy, sul root 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 sotto root, 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

NOTA

I percorsi delle definizioni dei criteri dipendono dal percorso del componente. cq:policy contiene un riferimento relativo alla configurazione stessa.

Criteri di pagina

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

  1. 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
  2. Modelli consentiti

    /conf/<your-folder>/settings/wcm/templates/.*

Pagine dei contenuti risultanti

Pagine create da modelli modificabili:

  • Sono create con una sottostruttura da cui è stata eseguita l’unione structure e initial 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.

Interrelazione tra modelli, contenuti e componenti

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> - criteri di contenuto e modelli correlati definisci la configurazione della pagina.
  • Modello - Bundle OSGi - Il Bundle OSGI implementa la funzionalità .
  • Visualizza - /apps/<my-site>/components - Negli ambienti di authoring e di pubblicazione il rendering del contenuto viene eseguito dai 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.
  • Componenti:

    • Il componente pagina unisce il structure/jcr:content struttura del modello con jcr: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 percorso policies/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.

Disponibilità dei modelli

Quando crei una nuova pagina nell’interfaccia di amministrazione del sito, l’elenco dei modelli disponibili dipende dalla posizione della nuova pagina e dalle restrizioni di posizionamento specificate in ciascun modello.

Le proprietà seguenti determinano se un modello T può essere 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:

  • La cq:allowedTemplates proprietà jcr:content sottonodo di P o un antenato di P.

  • La allowedPaths proprietà di T.

  • La allowedParents proprietà di T.

  • La allowedChildren proprietà del modello di P.

La valutazione funziona come segue:

  • Il primo non vuoto cq:allowedTemplates trovato durante l'ascesa della gerarchia di pagina che inizia con P viene confrontato con il percorso di T. Se nessuno dei valori corrisponde, T è rifiutato.

  • Se T non è vuoto allowedPaths , ma nessuno dei valori corrisponde al percorso di P, T è rifiutato.

  • Se entrambe le proprietà di cui sopra sono vuote o inesistenti, T è rifiutato a meno che non appartenga alla stessa domanda P. T appartiene alla stessa applicazione P se e solo se il nome del secondo livello del percorso T è lo stesso del nome del secondo livello del percorso P. Ad esempio, il modello /apps/wknd/templates/foo appartiene alla stessa applicazione della pagina /content/wknd.

  • Se T non è vuoto allowedParents , ma nessuno dei valori corrisponde al percorso di P, T è rifiutato.

  • Se il modello di P non è vuoto allowedChildren , ma nessuno dei valori corrisponde al percorso di T, T è rifiutato.

  • In tutti gli altri casi, T è consentito.

Il diagramma seguente illustra il processo di valutazione del modello:

Processo di valutazione dei modelli

ATTENZIONE

AEM offre più proprietà per controllare i modelli consentiti in Sites. Tuttavia, combinarle può portare a regole molto complesse che sono difficili da monitorare e gestire.

Pertanto, Adobe consiglia di iniziare con semplicità, definendo:

  • solo il cq:allowedTemplates property

  • solo nella directory principale del sito

Ad esempio, consulta Esercitazione WKND contenuto: /content/wknd/jcr:content

Proprietà allowedPaths, allowedParentse allowedChildren può anche essere posizionato sui modelli per definire regole più sofisticate. Tuttavia, quando possibile, è molto più semplice da definire cq:allowedTemplates nelle sottosezioni del sito se è necessario limitare ulteriormente i modelli consentiti.

Un vantaggio aggiuntivo è rappresentato dal cq:allowedTemplates le proprietà possono essere aggiornate da un autore nel Avanzate della scheda Proprietà pagina. Le altre proprietà del modello non possono essere aggiornate utilizzando l’interfaccia utente (standard), pertanto per ogni modifica sarebbe necessario uno sviluppatore per mantenere le regole e una distribuzione del codice.

Limitazione dei modelli utilizzati nelle pagine figlie

Per limitare i modelli che possono essere utilizzati per creare pagine figlie sotto una determinata pagina, utilizza la funzione cq:allowedTemplates proprietà di jcr:content nodo della pagina per specificare l’elenco di modelli da consentire come pagine figlie. Ogni valore nell’elenco deve essere un percorso assoluto a un modello per una pagina figlio consentita, ad esempio /apps/wknd/templates/page-content.

È possibile utilizzare cq:allowedTemplates nella proprietà del modello jcr:content per applicare questa configurazione a tutte le pagine appena create che utilizzano questo modello.

Se desideri aggiungere altri vincoli, ad esempio per quanto riguarda la gerarchia dei modelli, puoi utilizzare la funzione allowedParents/allowedChildren nel modello. È quindi possibile specificare esplicitamente che le pagine create da un modello T devono essere padre/figlio di pagine create da un modello T.

In questa pagina