TIPI DI PAGINA
Voce · Discussione (Bar)
Categoria · Portale
File (Immagine · Suono)
Pagina di servizio
Template · Linea guida
Progetto · Pagina utente
Modulo
Tutti i namespace
Abbreviazioni
WP:TL
WP:Tl

In Wikipedia, un template[1] è una pagina speciale creata per essere inclusa in altre pagine tramite il meccanismo dell'inclusione.

Può essere usata per diversi scopi:

  • inserire facilmente del testo ripetuto su diverse pagine, scrivendolo una sola volta, come per i template di navigazione
  • inserire degli elementi standard, delle tabelle informative o degli avvisi
  • inserire elementi di cui sia possibile programmare il comportamento in funzione di alcune variabili.

I template sono contenuti nel namespace template (o namespace 10), cioè il namespace le cui pagine hanno la forma "Template:NOME" (ad esempio: Template:S, Template:Benvenuto, Template:Europa).

Per riferirsi a un template si può usare anche l'abbreviazione T, ad es. t:Europa.

Sportello informazioni

Inserimento

 Lo stesso argomento in dettaglio: Aiuto:Inclusione.
 
Esempio di inclusione

Tutte le pagine che appartengono al namespace 10 possono essere inserite rapidamente in una pagina, semplicemente scrivendo il nome del template (la parte che segue la scritta Template:) tra doppie parentesi graffe[2], come in {{NOME}}. Questo riferimento nel wikitext provoca l'inserimento del contenuto del template quando la pagina viene visualizzata.

Se la pagina "Template:nome" non esiste, allora {{nome}} funziona come [[Template:nome]], un link a una pagina non esistente, che porta alla pagina di edit.

Non è consentito l'inserimento di template inesistenti.

Se il template non si trova nel namespace apposito (perché ancora in lavorazione, o perché si tratta di un inserimento di un'altra pagina) può essere usato ugualmente, inserendo il nome con il percorso completo (ad esempio {{utente:NOME COGNOME/Pagina di prova}}).

L'inserimento è case sensitive, ovvero il software distingue le lettere maiuscole e minuscole, ad eccezione della prima lettera e degli spazi che sono equivalenti agli underscore ( "_" ). Quindi:

  • i template {{pagina di prova}} e il template {{pagina di Prova}} saranno riconosciuti come differenti
  • i template {{pagina di prova}} e {{pagina_di_prova}} saranno identici.

È possibile utilizzare l'inclusione annidata: un template incluso in una pagina può contenere a sua volta uno o più template.

Nell'inserire i template è possibile dichiarare delle variabili che verranno usate all'interno dello stesso: in questo caso si parla di template parametrico.

Parentesi graffe

Per inserire le doppie parentesi graffe che aprono e chiudono un template esistono diversi modi che dipendono sia dal layout di tastiera sia dal sistema operativo. Si può anche fare copia e incolla da qui: {{ }}

graffa aperta graffa chiusa sistema
Alt+Gr+7 Alt+Gr+0 GNU/Linux
Alt+Gr+8 Alt+Gr+9 GNU/Linux
Alt+123 Alt+125 Microsoft Windows
Alt+Gr+ Shift+è Alt+Gr+ Shift++ Microsoft Windows - GNU/Linux
Alt+Ctrl+ Shift+è Alt+Ctrl+ Shift++ Microsoft Windows
++è +++ macOS (con il layout Italiano – Pro)

Nota: Il tasto Shift, su alcune tastiere può anche essere chiamato "Maiusc". Spesso si trova subito sotto il tasto Invio (o "Enter").

Utilizzo

I template sono utili per ogni elemento complesso, specialmente con formattazione grafica, che occorre ripetere in due o più pagine senza doverlo digitare ogni volta. Grazie ai parametri è anche possibile variarne l'aspetto a seconda della voce, sempre senza dover digitare tutto ogni volta. I template non solo sono comodi ma possono aiutare a raggiungere l'uniformità fra le pagine.

Tipiche applicazioni sono:

Utilizzi sconsigliati

Si sconsiglia di duplicare i contenuti testuali (sia con i template sia senza), per esempio mettere una sezione che ha a che fare con A e B sia nella voce A sia nella voce B. Questo genera confusione, soprattutto nei contributori novizi. In questi casi conviene visualizzare il testo in un solo luogo e sfruttare i wikilink per collegarlo da più parti.

Template parametrici

 

Quando si costruisce un template, può essere necessario lasciare all'utente la possibilità di personalizzare una parte del testo o del comportamento del template, a seconda della pagina dove viene inserito. In questo caso, l'utente indica uno o più parametri che poi verranno sfruttati per la rappresentazione a video del template stesso. Ad esempio il template:Film mostra dati diversi a seconda del film che descrive.

In ogni pagina in cui il template è inserito, i parametri vengono espressi di seguito al nome del template, separati da barre verticali, e possono essere identificati da un nome di parametro o da un ordine progressivo. Il metodo di identificazione dipende da come è stato costruito il template ed è spiegato nel suo manuale; possono anche essere supportati entrambi.

Esempio di inclusione con parametri chiamati per nome:

{{nome template|nome=Tizio|cognome=Caio|data=martedì}}

Esempio di inclusione con parametri in ordine progressivo:

{{nome template|Tizio|Caio|martedì}}

All'interno del template stesso, in mezzo al wikicodice che costituisce la pagina "Template:nome template", i parametri sono rappresentati da etichette racchiuse tra triple parentesi graffe; quando il template verrà incluso, a queste etichette verranno sostituiti i valori di testo assegnati di volta in volta dall'utente ai parametri.

Nel primo esempio:

{{{nome}}}, {{{cognome}}} e {{{data}}}

Nel secondo:

{{{1}}}, {{{2}}} e {{{3}}}

La sintassi per esteso è dunque

{{templatename|nomeparametro1=valoreparametro1|nomeparametro2=valoreparametro2}}
con i tag {{{nomeparametro}}} nel template
oppure
{{templatename|valoreparametro1|valoreparametro2}}
con i tag {{{1}}}, {{{2}}}, ecc. nel template.

note importanti:

  • i tag dei parametri nel template hanno tre parentesi graffe e non due!
  • i nomi dei parametri devono corrispondere esattamente; le maiuscole contano, e gli spazi non sono equivalenti agli underscore.
Esempio

La pagina "Template:Saluto" contiene:

Ciao {{{nome}}}, come va?

Il template viene incluso in una voce digitando:

{{Saluto|nome=Tizio}}

Dopo aver salvato la modifica (oppure nell'anteprima), nella voce comparirà:

Ciao Tizio, come va?

Nella fase di rendering (ossia di generazione a video del risultato dell'inserimento del template), i parametri in soprannumero saranno ignorati. Se invece i parametri sono insufficienti, normalmente si verificherà un errore, a meno che non sia stata prevista la possibilità di omettere un dato parametro.

Parametri opzionali

Solitamente un parametro si rende opzionale con la forma {{{1|}}} oppure {{{1|Pippo}}}, cioè con una barra verticale dopo il nome. La barra significa che, in mancanza di quel parametro, verrà usato di default il valore successivo alla barra (niente, nel primo caso; "Pippo" nel secondo).

Il default non viene applicato se il parametro è vuoto, ma la sua dichiarazione è comunque presente: chiamando {{nome template|}} (o {{nome template|nome=}} se tale parametro ha un nome) il valore del parametro sarà proprio nullo e non "Pippo". Per controllare che il parametro non sia né assente né vuoto è necessaria la funzione #if.

Caratteri di spazio

Quando si usa la notazione con =, gli eventuali spazi e ritorni a capo intorno ai valori dei parametri vengono ignorati, quindi {{Saluto|nome=Tizio}} è equivalente a {{Saluto| nome = Tizio }}. Per questo motivo, i template che hanno molti parametri con nome vengono spesso inseriti nel seguente formato, più leggibile e facile da compilare:

{{nome template
|nome = Tizio
|cognome = Caio
...
}}

Non è così invece per le dichiarazioni implicite: {{Saluto|Tizio}} e {{Saluto| Tizio }} sono differenti, e nel secondo caso gli spazi verranno testualmente riportati nella pagina chiamante. Spesso gli spazi sono comunque innocui, ma se così non fosse, un possibile trucco per rimuoverli è usare {{#if:toglispazi|{{{1}}}}} nel codice del template ("toglispazi" è una stringa qualunque).

Limitazioni

Un nome di parametro o il suo valore non può contenere il carattere "|", dal momento che serve per separare i parametri. Eventuali "|" all'interno dei wikilink (piped link) o di altri template non sono un problema, ma se occorre inserire un "|" per altri motivi, usare il comando {{!}}.

questa sintassi funziona correttamente: {{Template|[[Marte (astronomia)|Marte]]}}
ma questa non funziona: {{Template|La | è una barra}}
per porvi rimedio, è necessario usare questa variante: {{Template|La {{!}} è una barra}}

Inoltre, se il nome delle variabili non viene specificato, il loro valore non può contenere il segno "=". Se si ha bisogno di inserire il segno "=" in un template che usa i nomi impliciti per le variabili allora è necessario esplicitarne il nome, ad esempio:

questa sintassi funziona correttamente: {{Template|A|B}}
ma questa non funziona: {{Template|A=10|B=32}}
per porvi rimedio, è necessario usare questa variante: {{Template|1= A=10|2= B=32}}

Oppure si può usare il template {{=}} nel seguente modo: {{Template|A{{=}}10|B{{=}}32}}.

Modificare un template

Per vedere il contenuto di un template è necessario aprirlo in modalità modifica.

Andando semplicemente sulla pagina del template, a seconda di come questa è impostata si otterrà nei casi più comuni un esempio di visualizzazione del template o una pagina di istruzioni, a volte accompagnate da un avviso che marca i template più complessi e di difficile modifica.

Per andare alla pagina di un template, oltre a digitare il suo nome nella casella di ricerca, è possibile cliccare sul tag modifica di una voce in cui è contenuto il template. In fondo a sinistra, dopo il wikicodice della voce, apparirà una sezione con titolo "Template utilizzati in questa pagina", contenente i link a tutti i template inseriti nella pagina.

È necessaria una precisazione importante:

NON MODIFICARE MAI IL CONTENUTO DI UN TEMPLATE IN USO SE NON SAI QUELLO CHE STAI FACENDO

Modificare un template molto richiamato può danneggiare numerose pagine, oltre a sovraccaricare di lavoro i server di Wikipedia, che devono aggiornare tutte le pagine che lo includono. In particolare, non cambiare il nome/ordine dei parametri, a meno che tu intenda correggere subito una per una anche tutte le pagine che già includono il template. È sempre meglio fare delle prove prima di modificare template molto usati, sfruttando l'anteprima oppure le sandbox.

Quando un template è aperto in modifica, è possibile come per tutte le pagine visualizzare l'anteprima del template stesso; inoltre, per i template è disponibile un'altra funzione (il riquadro "Anteprima di una pagina con questo template") che consente di visualizzare direttamente l'effetto che avrebbero le modifiche in una voce che include già il template, senza dover fare alcun salvataggio, nemmeno di sandbox.

Creare un template

La creazione di un template nuovo avviene come per qualsiasi altra pagina. Poiché un template è fatto per essere utilizzato in diverse voci, talvolta anche migliaia, è bene discutere l'opportunità della sua creazione, ad esempio presso un progetto tematico.

Quando scrivi un template è sempre una buona idea inserire le categorie a cui il template appartiene, un breve testo di istruzioni (o meglio ancora un manuale) e una presentazione delle funzioni del template tra i tag <noinclude></noinclude>. Si veda Aiuto:Inclusione per una descrizione di questi tag. Se non si utilizza noinclude, le categorie e le istruzioni appariranno erroneamente anche in tutte le voci in cui il template è inserito.

Se necessario, il codice del template vero e proprio viene invece racchiuso tra i tag <includeonly></includeonly>, per evitare che un risultato senza senso venga mostrato nella pagina del template stesso. Non inserire spazi e andate a capo al di fuori dei tag includeonly e noinclude, perché apparirebbero anche nelle voci.

Nomi dei template

Sui titoli non ci sono limiti tecnici oltre a quelli che hanno tutte le altre pagine; un template si può tranquillamente chiamare "Template:Città italiane maggiori", senza necessità di nomi da linguaggio di programmazione come "Template:CittaITA1" (lo stesso si può dire dei nomi dei parametri). In linea generale si seguano quindi le stesse convenzioni usate per le voci, scegliendo nomi in italiano corretto.

Le abbreviazioni vengono usate di solito solo per template molto utilizzati che richiedono un'alta velocità di inserimento manuale, è il caso ad esempio dei principali avvisi.

Notare che anche per i template funzionano i redirect.

Elenco delle pagine che contengono un template

Per verificare quali pagine contengono un template si utilizza (come per qualsiasi pagina) il Puntano qui degli strumenti a sinistra. Lo strumento permette di distinguere quali pagine includono il template e quali semplicemente lo puntano con un wikilink.

Elenco dei template inclusi in una pagina

Se si vuole visualizzare l'elenco dei template inclusi in una pagina, aprire tale pagina in modalità modifica (o visualizza sorgente, per le pagine protette).

Poco sotto il riquadro di modifica, sulla sinistra, vi è una parte della pagina dal titolo "Template utilizzati in questa pagina:" che elenca i vari template inclusi nella pagina in questione. È possibile cliccare sul nome di uno di essi per raggiungere la relativa pagina e da lì, eventualmente, editarla.

Nota: Lì sono indicati non solo i template inclusi direttamente, ma anche indirettamente (cioè quelli inclusi a loro volta in un template incluso nella pagina, e così via).

Cache

 Lo stesso argomento in dettaglio: Aiuto:Purge.

Quando un template viene modificato, la versione HTML di cache di tutte le pagine che utilizzano il template viene marcata come da rigenerare, attività che è eseguita tramite una coda di lavoro dai server. L'aggiornamento può quindi richiedere un po' di tempo, specialmente quando il template è incluso in molte pagine; perciò non preoccuparti se le modifiche al template non appaiono subito nelle pagine. Per forzare subito l'aggiornamento di una certa pagina, basta fare un salvataggio (anche senza modifiche) della pagina.

Sostituzione di un template (subst:)

 Lo stesso argomento in dettaglio: Aiuto:Subst.

Mettendo "subst:" dopo le doppie graffe aperte, questo comando nel wikitesto verrà rimpiazzato dal contenuto del template quando la pagina verrà salvata. Se qualcuno modificherà la pagina in seguito, non vedrà più il tag nel wikitesto ma solo il testo sostituito.

Controllare l'aspetto grafico

Quando si modifica la grafica di un template, è buona norma controllarne l'aspetto con i principali browser, poiché non tutti i browser visualizzano la grafica di Wikipedia allo stesso modo. Vedi anche Wikipedia:Accessibilità del contenuto.

Variabili di sistema

Le variabili di sistema possono essere considerate come dei template speciali gestiti con la medesima sintassi, anche se il sistema le riconosce senza necessità di una pagina corrispondente nel namespace Template, che anzi, qualora fosse creata con un nome già usato dalle variabili, verrebbe ignorata.

È possibile usare le variabili anche all'interno dei template, oltre ai parametri dichiarati dall'utente, per ottenere alcune informazioni come i nomi delle pagine in cui il template è incluso ({{PAGENAME}}) o la data ({{CURRENTDAY}} {{CURRENTMONTHNAME}} e {{CURRENTYEAR}} nelle varie combinazioni). Una parola magica in un template è valutata dopo l'inserimento nella pagina che lo referenzia, per esempio se la parola magica {{PAGENAME}} appare nel wikicodice di un template, è resa con il nome della pagina che la contiene e non con il nome del template.

msgnw

Usare "msgnw:" dopo le parentesi graffe aperte per visualizzare il wikicodice interno del template anziché il suo aspetto. Per esempio {{ITA}} e {{msgnw:ITA}} visualizzano rispettivamente:

  Italia
e
{{bandiera|ITA|nome}}<noinclude> {{Protetta}} [[Categoria:Template bandierine nazionali]] [[fr:Modèle:Italie]] </noinclude>

Ricerca combinata

  Albero delle categorie riguardanti i Template
(in corsivo le pagine)
Categoria Template non trovata

  Ricerca nel namespace Template


Note

  1. Il termine è di lingua inglese ([ˈtɛmpleɪt] o [ˈtɛmplɪt]): in italiano sta per "modello", ma letteralmente è "sagoma", "calco". Per informazioni generali, vedi la voce Template.
  2. Con la tastiera italiana la parentesi graffa aperta si può ottenere premendo Alt Gr+ Shift+[, mentre la parentesi graffa chiusa premendo Alt Gr+ Shift+])

Pagine correlate

Altri progetti

  Progetto Template: collabora a Wikipedia sull'argomento template