Show Menu
ARGOMENTI×

Modelli di pagina

Per creare una pagina è necessario 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). Ciò presenta numerosi vantaggi:
  • I modelli di pagina consentono agli autori specializzati di creare e modificare i modelli .
    • Tali autori specializzati sono denominati autori di modelli
    • Gli autori dei modelli devono essere membri del template-authors gruppo.
  • I modelli di pagina mantengono una connessione dinamica a tutte le pagine da essi create. 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 pagina, i pezzi che creano una pagina sono isolati all’interno dei componenti. È possibile configurare le combinazioni di componenti necessarie in un’interfaccia utente, eliminando così la necessità di sviluppare un nuovo componente di pagina per ogni variazione di pagina.
Questo documento:
  • Fornisce una panoramica sulla 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
Questo documento presuppone che si abbia già familiarità con la creazione e la modifica di modelli. Consultate il documento di authoring Creazione di modelli di pagina, che descrive in dettaglio le capacità dei modelli modificabili come esposti all’autore del modello.
L'esercitazione WKND approfondisce l'uso dei modelli di pagina mediante l'implementazione di un esempio ed è molto utile per comprendere come impostare un modello in un nuovo progetto

Creating a New Template

La creazione di modelli di pagina viene realizzata principalmente con la console modelli e l’editor modelli da un autore di modelli. Questa sezione fornisce una panoramica di questo processo e una descrizione di quanto avviene a livello tecnico.
Durante la creazione di un nuovo modello modificabile:
  1. Create una cartella per i modelli . Questa operazione non è obbligatoria, ma è consigliata.
  2. Selezionate un tipo di modello. Viene copiata per creare la definizione del modello.
    Sono disponibili una selezione di tipi di modelli out-of-the-box. Potete anche creare modelli personalizzati per il sito, se necessario.
  3. Configurate la struttura, i criteri di contenuto, il contenuto iniziale e il layout del nuovo modello.
    Struttura
    • La struttura 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 sulla modalità in cui un autore del modello definisce la struttura, consultate Creazione di modelli di pagina.
    Per i dettagli tecnici della struttura, vedere Struttura in questo documento.
    Criteri
    • I criteri di contenuto 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 sulla definizione dei criteri da parte dell'autore di un modello, consultate Creazione di modelli di pagina.
    Per informazioni tecniche sulle politiche, consultate Criteri di contenuto in questo documento.
    Contenuto iniziale
    • 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ò essere modificato dagli autori della pagina.
    Per informazioni dettagliate sulla modalità in cui un autore del modello definisce la struttura, consultate Creazione di modelli di pagina.
    Per informazioni tecniche sui contenuti iniziali, consultate Contenuto Contenuto iniziale 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 modalità in cui un autore del modello definisce il layout del modello, consultate Creazione di modelli di pagina.
    Per informazioni tecniche sul layout del modello, consultate Layout in questo documento.
  4. Attivate il modello, quindi consentitelo per specifiche strutture ad albero del contenuto.
    • Un modello può essere abilitato o disabilitato per renderlo disponibile o non disponibile per gli autori di pagine.
    • Un modello può essere reso disponibile o non disponibile per alcuni rami di pagina.
    Per informazioni dettagliate sull’abilitazione di un modello da parte dell’autore di un modello, consultate Creazione di modelli di pagina.
    Per informazioni tecniche sull'abilitazione di un modello, consultate Abilitazione e abilitazione di un modello per l' utilizzo in questo documento
  5. Utilizzatelo 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 sull’utilizzo dei modelli da parte dell’autore di una pagina per creare una pagina, consultate Creazione e organizzazione di pagine .
    Per informazioni tecniche sulla creazione di pagine con modelli modificabili, consultate Pagine di contenuti risultanti in questo documento.
La libreria client dell'editor presuppone la presenza dello cq.shared spazio dei nomi nelle pagine di contenuto, e se è assente, Uncaught TypeError: Cannot read property 'shared' of undefined si verificherà l'errore JavaScript.
Tutte le pagine di contenuto di esempio contengono cq.shared , pertanto qualsiasi contenuto basato su di esse viene incluso automaticamente cq.shared . Tuttavia, se decidete di creare da zero pagine di contenuto personalizzate senza basarle su contenuti di esempio, dovete includere lo cq.shared spazio nomi.
Non inserire mai informazioni che devono essere internazionalizzate in un modello.

Cartelle modello

Per organizzare i modelli potete utilizzare le cartelle seguenti:
  • global
  • Specifico per il sito
Anche se potete nidificare le cartelle, quando l’utente le visualizza nella console Modelli vengono presentate come una struttura semplice.
In a standard AEM instance the global folder already exists in the template console. Questa contiene i modelli predefiniti e funge da fallback se nella cartella corrente non sono presenti criteri e/o tipi di modello. Potete aggiungere i modelli predefiniti a questa cartella o creare una nuova cartella (scelta consigliata).
È consigliabile creare una nuova cartella in cui memorizzare i modelli personalizzati e non utilizzare la global cartella.
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 configurazione si sovrappone ( path / label ), all'utente viene presentata solo l'istanza più vicina alla cartella corrente.
Per creare una nuova cartella, potete effettuare le seguenti operazioni:
  • Programmaticamente o con CRXDE Lite
  • Utilizzo del browser di configurazione

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. È quindi possibile 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 desiderate visualizzare nella console Modelli .
  3. 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, Access Rights) necessari agli autori per poter creare i modelli nella nuova cartella.
    Il template-authors gruppo è il gruppo predefinito che deve essere assegnato. Per informazioni dettagliate, vedere la sezione ACL e gruppi .

Utilizzo del browser di configurazione

  1. Andate a Navigazione ​globale > Strumenti > Browser di configurazione.
    Le cartelle esistenti sono elencate a sinistra, inclusa la global cartella.
  2. Fai clic su Crea .
  3. Nella finestra di dialogo Crea configurazione è necessario configurare i seguenti campi:
    • Titolo : Fornire un titolo per la cartella di configurazione
    • Modelli modificabili: Fare clic per consentire la modifica dei modelli all'interno di questa cartella
  4. Fai clic su Crea
Nel browser di configurazione, potete modificare la cartella globale e attivare l’opzione Modelli ​modificabili se desiderate creare dei modelli all’interno di questa cartella, ma questa non è la procedura consigliata.

ACL e gruppi

Una volta create le cartelle dei modelli (tramite CRXDE o con il browser di configurazione), gli ACL devono essere definiti per i gruppi appropriati per le cartelle dei modelli per garantire la protezione adeguata.
Le cartelle dei modelli per l’esercitazione Guida introduttiva allo sviluppo per AEM Sites - Esercitazione WKND WKND possono essere utilizzate come esempio.

Il gruppo di autori dei modelli

Il template-authors gruppo è il gruppo utilizzato per gestire l'accesso ai modelli ed è dotato di AEM standard, ma è vuoto. Gli utenti devono essere aggiunti al gruppo per il progetto/sito.
Il template-authors gruppo è destinato solo agli utenti che devono essere in grado di creare nuovi modelli.
La modifica dei modelli è molto efficace e, se non viene eseguita correttamente, i modelli esistenti possono essere interrotti. Questo ruolo dovrebbe pertanto essere mirato e includere solo utenti qualificati.
Nella tabella seguente sono elencate le autorizzazioni necessarie per la modifica dei modelli.
Percorso Ruolo/Gruppo Autorizzazioni Descrizione
/conf/< your-folder >/settings/wcm/templates Autori modello lettura, scrittura, replica Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli nello spazio /conf del sito specifico
Utente Web anonimo read Utente Web anonimo deve leggere i modelli durante il rendering di una pagina
Autori contenuto replica Gli autori di replicheContent devono attivare i modelli di una pagina durante l’attivazione di una pagina
/conf/< your-folder >/settings/wcm/policies Template Author lettura, scrittura, replica Autori di modelli che creano, leggono, aggiornano, eliminano e replicano modelli nello spazio /conf del sito specifico
Utente Web anonimo read Utente Web anonimo deve leggere i criteri durante il rendering di una pagina
Autori contenuto replica 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
Questo template-authors gruppo predefinito copre solo le impostazioni di progetto, dove tutti template-authors i membri possono accedere e creare tutti i modelli. Per le impostazioni più complesse, in cui sono necessari gruppi di autori di modelli multipli per l'accesso separato ai modelli, è necessario creare un numero maggiore di gruppi di autori di modelli personalizzati. Tuttavia, le autorizzazioni per i gruppi di autori dei modelli rimarrebbero invariate.

Template Type

Quando create un nuovo modello, dovete specificare un tipo di modello:
  • I tipi di modello forniscono efficacemente i modelli per un modello. Quando create un nuovo modello, la struttura e il contenuto iniziale del tipo di modello selezionato vengono usati per creare il nuovo modello.
    • 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:
    • 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 l'impostazione dell'emulatore mobile sul tipo di modello.
  • AEM fornisce una piccola selezione di tipi di modelli predefiniti, ad esempio Pagina HTML5 e Pagina modulo adattiva.
    • Altri esempi sono forniti nell’ambito dell’esercitazione WKND.
  • I tipi di modelli sono generalmente definiti dagli sviluppatori.
I tipi di modelli forniti vengono memorizzati in:
  • /libs/settings/wcm/template-types
Non è necessario modificare nulla nel /libs percorso. Questo perché il contenuto di /libs può essere sovrascritto in qualsiasi momento da un aggiornamento a AEM.
I tipi di modello specifici per il sito devono essere memorizzati nella posizione comparabile di:
  • /apps/settings/wcm/template-types
Le definizioni per i tipi di modelli personalizzati devono essere memorizzate in cartelle definite dall'utente (consigliato) o in alternativa in global . 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
I tipi di modello devono rispettare la struttura corretta delle cartelle (ovvero /settings/wcm/... ), in caso contrario i tipi di modello non verranno trovati.

Creazione di tipi di modelli

Se avete creato un modello che può fungere da base per altri modelli, potete copiare il modello come tipo di modello.
  1. Create un modello come fareste con qualsiasi Modello pagina come illustrato qui , che fungerà da base per il tipo di modello.
  2. Utilizzando CRXDE Lite, copiate il modello appena creato dal templates nodo al template-types nodo sotto la cartella del modello.
  3. Eliminate il modello dal templates nodo sotto la cartella del modello.
  4. Nella copia del modello che si trova sotto il template-types nodo, eliminare tutte cq:template e cq:templateType le jcr:content proprietà.
Potete 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

Le definizioni per i modelli modificabili sono memorizzate nelle cartelle definite dall' utente (consigliato) o in alternativa in global . 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:
  • <template-name>
    • [initial](#initial-content)
    • jcr:content
    • [structure](#structure)
    • [policies](#policies)
    • thumbnail.png

jcr:content

Questo nodo contiene le proprietà per il modello:
  • Nome : jcr:title
  • Nome : status
    • `` Tipo : String
    • Valore : draft , enabled or 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 si rifletteranno sulle pagine create con il modello.
  • Il nodo root ( structure/jcr:content/root ) definisce l’elenco dei componenti che saranno disponibili nella pagina risultante.
    • I componenti definiti nella struttura del modello non possono essere spostati né eliminati dalle pagine risultanti.
    • Quando un componente viene sbloccato, la editable proprietà viene impostata su true .
    • Quando un componente che contiene già del contenuto viene sbloccato, il contenuto viene spostato nel initial ramo.
  • Il cq:responsive nodo contiene le definizioni per il layout reattivo.

Contenuto iniziale

Definisce il contenuto iniziale di una nuova pagina al momento della creazione:
  • Contiene un jcr:content nodo che viene copiato in qualsiasi nuova pagina.
  • Viene 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.
  • Il root nodo contiene un elenco di componenti per definire ciò che sarà 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

Quando modificate un modello potete definire il layout , questo utilizza il layout reattivo standard.

Content Policies

I criteri di contenuto 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 di 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 , nei nodi espliciti dei componenti in 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
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 i criteri di contenuto per la pagina (parsys principale), nel modello o nelle pagine risultanti.

Abilitazione e abilitazione di un modello per l'uso

  1. Abilita modello
    Per poter utilizzare un modello, è necessario che sia attivato:
    • Abilitazione del modello dalla console Modelli .
    • Impostazione della proprietà status sul jcr:content nodo.
      • Ad esempio, on:
        /conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
      • Definire la proprietà:
        • Nome: status
        • Tipo: Stringa
        • Valore: enabled
  2. Modelli consentiti
    /conf/<your-folder>/settings/wcm/templates/.*

Pagine di contenuti risultanti

Pagine create da modelli modificabili:
  • Vengono creati con una sottostruttura ad albero che viene unita da structure e initial nel modello
  • Contiene riferimenti alle informazioni contenute nel modello e nel tipo di modello. Questo si ottiene con un jcr:content nodo con le proprietà:
    • cq:template - Fornisce il riferimento dinamico al modello effettivo; consente di riflettere le modifiche apportate al modello sulle pagine effettive.
    • cq:templateType - Fornisce un riferimento al tipo di modello.
Il diagramma precedente mostra come i modelli, i contenuti e i componenti si interfacciano:
  • 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> - Il modello e i relativi criteri di contenuto definiscono la configurazione della pagina.
  • Modello - Pacchetti OSGi - I bundle OSGI implementano la funzionalità.
  • Visualizzazione - /apps/<my-site>/components - Sia nell’ambiente di creazione che nell’ambiente di pubblicazione, il rendering del contenuto viene eseguito dai componenti.
Durante il rendering di una pagina:
  • Modelli :
    • Viene fatto riferimento alla cq:template proprietà del relativo jcr:content nodo per accedere al modello corrispondente alla pagina.
  • Componenti :
    • Il componente Pagina unisce la structure/jcr:content struttura ad albero del modello alla jcr:content struttura ad albero della pagina.
      • Il componente Pagina consente solo all’autore di modificare i nodi della struttura del modello 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; viene quindi ricercato lo stesso percorso sotto il policies/jcr:content nodo del modello.
        • La cq:policy proprietà 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à del modello

Quando si crea una nuova pagina nell’interfaccia di amministrazione del sito, l’elenco dei modelli disponibili dipende dalla posizione della nuova pagina e dalle limitazioni alla posizione specificate in ciascun modello.
Le proprietà seguenti determinano se un modello T può essere utilizzato per inserire una nuova pagina come figlio di una pagina P . Ciascuna di queste proprietà è una stringa con più valori che contiene zero o più espressioni regolari utilizzate per la corrispondenza con i percorsi:
  • La cq:allowedTemplates proprietà del jcr:content nodo secondario di P o di un predecessore di P .
  • La allowedPaths proprietà di T .
  • La allowedParents proprietà di T .
  • La allowedChildren proprietà del modello di P .
La valutazione funziona come segue:
  • La prima cq:allowedTemplates proprietà non vuota trovata durante l'ascendente della gerarchia di pagina che inizia con P viene confrontata con il percorso di T . Se nessuno dei valori corrisponde, T viene rifiutato.
  • Se T esiste una allowedPaths proprietà non vuota, ma nessuno dei valori corrisponde al percorso di P , T viene rifiutato.
  • Se entrambe le proprietà di cui sopra sono vuote o inesistenti, T viene rifiutato a meno che non appartengano alla stessa applicazione di P . T appartiene alla stessa applicazione come P if e solo se il nome del secondo livello del percorso T è uguale al nome del secondo livello del percorso di P . Ad esempio, il modello /apps/geometrixx/templates/foo appartiene alla stessa applicazione della pagina /content/geometrixx .
  • Se T è presente una allowedParents proprietà non vuota, ma nessuno dei valori corrisponde al percorso di P , T viene rifiutato.
  • Se il modello di P dispone di una allowedChildren proprietà non vuota, ma nessuno dei valori corrisponde al percorso di T , T viene rifiutato.
  • In tutti gli altri casi, T è consentito.
Il diagramma seguente illustra il processo di valutazione dei modelli:
AEM offre più proprietà per controllare i modelli consentiti in Siti . Tuttavia, combinarle può portare a regole molto complesse che sono difficili da monitorare e gestire.
Pertanto, Adobe consiglia di iniziare in modo semplice, definendo:
  • solo la cq:allowedTemplates proprietà
  • solo nella directory principale del sito
Per un esempio, consultate il contenuto dell'esercitazione Guida introduttiva allo sviluppo per AEM Sites - Esercitazione WKND WKND: /content/wknd/jcr:content
Le proprietà allowedPaths , allowedParents e allowedChildren possono essere inserite anche 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.
Un ulteriore vantaggio è rappresentato dal fatto che le cq:allowedTemplates proprietà possono essere aggiornate da un autore nella scheda Avanzate delle Proprietà di pagina. Le altre proprietà del modello non possono essere aggiornate utilizzando l'interfaccia (standard), pertanto per ogni modifica è necessario che uno sviluppatore mantenga le regole e implementi il codice.

Limitazione dei modelli utilizzati nelle pagine figlie

Per limitare i modelli che possono essere utilizzati per creare pagine figlie in una determinata pagina, utilizzate la cq:allowedTemplates proprietà del 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 figlia consentita, ad esempio /apps/wknd/templates/page-content .
È possibile utilizzare la cq:allowedTemplates proprietà sul nodo del modello jcr:content per applicare questa configurazione a tutte le pagine create di recente che utilizzano questo modello.
Se desiderate aggiungere altri vincoli, ad esempio per quanto riguarda la gerarchia del modello, potete utilizzare le allowedParents/allowedChildren proprietà del modello. Potete quindi specificare esplicitamente che le pagine create da un modello T devono essere pagine padre/figlio di pagine create da un modello T.