Aiuto:Template
Da Wikipedia, l'enciclopedia libera.
Indice |
Il namespace template è il namespace con il prefisso "Template:".
Una pagina con questo namespace è chiamata template. I contenuti di questo tipo di pagina sono progettati per essere inseriti all'interno di altre pagine, creando un documento composto.
La sintassi per l'inserimento della pagina "Template:nome" in un'altra pagina è {{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.
Se nome comincia con il prefisso di un namespace valido, o i due punti, allora non viene messo il prefisso "Template:". In questo modo, ogni pagina può essere usata come template (i due punti all'inizio si riferiscono al namespace principale). Questa caratteristica è utile soprattutto per inserire messaggi nel MediaWiki namespace ed effettuare esperimenti coi template nelle sottopagine di una pagina utente.
Come al solito, il nome distingue maiuscole e minuscole ad eccezione della prima lettera e degli spazi che sono equivalenti agli underscore.
È possibile utilizzare l'inclusione ricorsiva.
Una variabile in un template è valutata dopo l'inserimento nella pagina che lo referenzia, per esempio se la variabile {{PAGENAME}} appare nel wikitext di un template, è reso con il nome della pagina che lo contiene e non il nome del template.
[modifica] Parametri
Sono supportati i template parametrici, richiamabili sia mediante un nome che mediante un numero. La sintassi è {{templatename|nomeparametro1=valoreparametro1|nomeparametro2=valoreparametro2}} con i tag {{{nomeparametro}}} nel template, oppure {{templatename|valoreparametro1|valoreparametro2}} con i tag {{{1}}}, {{{2}}}, etc. nel template (nota che i tag dei parametri nel template hanno tre parentesi graffe e non due).
Nella fase di rendering, i parametri in soprannumero sono ignorati. Se vengono passati pochi parametri, il risultato è come si vede nel template stesso, dipendendo dai parametri che mancano.
Nota che i parametri nel m:MediaWiki namespace (messaggi di interfaccia) sono scritti in maniera differente: $1, $2, etc.
[modifica] Vedere il contenuto di un template
Per vedere il contenuto di un template è necessario aprirlo in modalità modifica. Non è quindi sufficiente puntare direttamente alla pagina del template stesso: facendolo non vengono mostrate le variabili ma i loro valori.
Ad esempio vedere la pagina en:Template:In_Wikipedia con il contenuto
:''See [[Wikipedia:{{PAGENAME}}]] for the usage of "{{PAGENAME}}" in Wikipedia.''
mostrerà:
- See Wikipedia:In Wikipedia for the usage of "In Wikipedia" in Wikipedia.
- i parametri sono visualizzati come se la coppia più interna di parentesi fosse un riferimento ad altri template, quindi {{{Nome parametro}}} è visualizzato come {Template:Nome parametro}, a meno che il nome del parametro non sia uguale al nome del template, in questo caso viene mostrato il contenuto del template; per la precisione, un template può essere creato col nome del parametro ed al suo interno questo nome fra doppia parentesi graffa ed il tag nowiki (a meno che il nome del template non sia necessario per scopi più importanti). Questo è stato fatto sulla Meta per i parametri 1 e 2, vedere en:Template:1 e en:Template:2. In ogni modo, bisognerebbe usare nomi di parametri che non siano già nome di template (a parte lo scopo sopra menzionato).
In effetti, il rendering di una pagina template può implicare anche altre conversioni che non è utile prendere in considerazione.
La pagina del template mostra anche per ogni paramentro quello che viene mostrato quando il parametro stesso non è specificato.
Una valida alternativa per vedere il contenuto di un template è cliccare sul tag modifica della voce in cui è contenuto il template. Nella nuova pagina in fondo a sinistra c'è una sezione con titolo "Template utilizzati in questa pagina", dove è possibile scegliere e modificare il template desiderato.
[modifica] msgnw
Nel wikitext, usare "msgnw:" dopo le parentesi graffe aperte per visualizzarne il contenuto. Per esempio {{stub}} e {{msgnw:stub}} visualizzano rispettivamente
Per l'elenco completo degli stub, vedi la relativa categoria.
e
<noinclude> {{esoteric}} <!--
*** ATTENZIONE ***
La sintassi di questo template è davvero molto complessa, quando fai delle modifiche verifica a fondo il funzionamento in una pagina di prova. Se non riesci proprio a capire come funzioni contatta qualche esperto al Bar, oppure l'utente Paulatz.
--> </noinclude><includeonly> {| class="toccolours itwiki_template_avviso rad" style="margin-bottom:.5em" | valign=center | <!--
logo degli stub, se esiste -->{{#ifexist:Immagine:Stub_{{{1|}}}{{{argomento|}}}.png|[[Immagine:Stub_{{{1|}}}{{{argomento|}}}.png|48px|none|Stub]]|[[Immagine:Stubby.jpg|48px|none|Stub]]}} | <!--
testo iniziale -->Questa voce {{#if:{{{1|}}}{{{argomento|}}}|che tratta un argomento di [[{{{1|}}}{{{argomento|}}}]]|}} {{#if:{{{2|}}}{{{argomento2|}}}| e di [[{{{2|}}}{{{argomento2|}}}]]|}} è solo un '''[[aiuto:abbozzo|abbozzo]]'''. <!--
collegamento per modificare la pagina -->'''[{{SERVER}}{{localurl:{{FULLPAGENAME}}|action=edit}} Contribuisci]''' a migliorarla secondo le [[Aiuto:Manuale di stile|convenzioni di Wikipedia]]<!--
elenco progetti correlati -->{{#if:{{{1|}}}{{{argomento|}}}|{{#ifexist:Progetto:{{ucfirst:{{{1|}}}{{{argomento|}}}}}| e del '''[[Progetto:{{ucfirst:{{{1|}}}{{{argomento|}}}}}|Progetto {{{1|}}}{{{argomento|}}}]]'''}}}}{{#if:{{{2|}}}{{{argomento2|}}}|{{#ifexist:Progetto:{{ucfirst:{{{2|}}}{{{argomento2|}}}}}| e del '''[[Progetto:{{ucfirst:{{{2|}}}{{{argomento2|}}}}}|Progetto {{{2|}}}{{{argomento2|}}}]]'''}}}}. <!--
avviso se non si è specificato nessun argomento -->{{#if:{{{1|}}}{{{argomento|}}}{{{2|}}}{{{argomento2|}}}||<span style="font-size:90%; color:red;">''Per favore specificare l'argomento della voce usando la sintassi'' <nowiki>{{S | argomento}}</nowiki>.</span> Vedi anche l'[[:categoria:Stub|elenco degli abbozzi]].}}<!--
categoria stub correlata al primo argomento -->{{#if:{{{1|}}}{{{argomento|}}}|<!-- se è stato specificato il primo argomento -->{{#ifexist:Categoria:Stub {{{1|}}}{{{argomento|}}}<!-- e se esiste la categoria del primo argomento -->|Vedi l'elenco degli [[:Categoria:Stub {{{1|}}}{{{argomento|}}}|abbozzi di {{{1|}}}{{{argomento|}}}]]. <!-- ma se non esiste la categoria del primo argomento -->|La [[:Categoria:Stub {{{1|}}}{{{argomento|}}}|categoria abbozzi {{{1|}}}{{{argomento|}}}]] non esiste! <small>Si prega di inserire come parametro un argomento che abbia una categoria abbozzi relativa già esistente ([[:categoria:stub|elenco categorie]]), oppure, nel caso mancasse, di crearla.</small><!-- -->}}<!-- -->|<!--se invece manca il primo argomento, non scrivere niente -->}}<!--
portale correlato al primo argomento -->{{#if:{{{1|}}}{{{argomento|}}}|{{#ifexist:Portale:{{{1|}}}{{{argomento|}}}|Vedi anche il}}}} {{#ifexist:Portale:{{{1|}}}{{{argomento|}}}|[[Portale:{{{1|}}}{{{argomento|}}}|Portale {{{1|}}}{{{argomento|}}}]]. }}<!--
categoria stub correlata al secondo argomento -->{{#if:{{{2|}}}{{{argomento2|}}}|<!-- se è stato specificato il secondo argomento -->{{#ifexist:Categoria:Stub {{{2|}}}{{{argomento2|}}}<!-- e se esiste la categoria del secondo argomento -->|Vedi l'elenco degli [[:Categoria:Stub {{{2|}}}{{{argomento2|}}}|abbozzi di {{{2|}}}{{{argomento2|}}}]]. <!-- ma se non esiste la categoria del secondo argomento -->|La [[:Categoria:Stub {{{2|}}}{{{argomento2|}}}|categoria abbozzi {{{2|}}}{{{argomento2|}}}]] non esiste! <small>Si prega di inserire come parametro un argomento che abbia una categoria abbozzi relativa già esistente ([[:categoria:stub|elenco categorie]]), oppure, nel caso mancasse, di crearla.</small><!-- -->}}<!-- -->|<!--se invece manca il secondo argomento, non scrivere niente -->}}<!--
portale correlato al secondo argomento -->{{#ifexist:Portale:{{{2|}}}{{{argomento2|}}}| Vedi anche il [[Portale:{{{2|}}}{{{argomento2|}}}|Portale {{{2|}}}{{{argomento2|}}}]]. }}<!--
inserimento della data (parametro opzionale) <small>{{#if:{{{3|}}}{{{{data|}}}|Voce segnalata nel mese di {{{3|}}}{{{data|}}}.}}</small>
collegamento alla pagina di aiuto di questo template (questa pagina) --><small>([[Template:S/man|uso di questo avviso]])</small> |}<!--
codice per la categorizzazione nelle categorie corrispondenti ai parametri, se esistono -->{{#if:{{NAMESPACE}}||<!--
-->{{#if:{{{1|}}}{{{argomento|}}}|<!-- -->{{#ifexist:Categoria:Stub {{{1|}}}{{{argomento|}}}|[[Categoria:Stub {{{1|}}}{{{argomento|}}}]]|}}<!-- -->|}}<!-- -->{{#if:{{{2|}}}{{{argomento2|}}}|<!-- -->{{#ifexist:Categoria:Stub {{{2|}}}{{{argomento2|}}}|[[Categoria:Stub {{{2|}}}{{{argomento2|}}}]]|}}<!-- -->|}}<!--
-->}}<!--
categorizzazione nella categoria:stub se i parametri sono errati solo se il template è apposto in una pagina nel namespace principale -->{{#if:{{NAMESPACE}}|<!-- niente -->|<!--
se è stato specificato almeno un argomento<!-- -->{{#if:{{{1|}}}{{{argomento|}}}{{{2|}}}{{{argomento2|}}}|<!-- e se non esiste la categoria del primo argomento -->{{#ifexist:Categoria:Stub {{{1|}}}{{{argomento|}}}|<!-- se esiste, non fare niente e anche se non esiste la categoria del secondo argomento allora inserisci nella Categoria:stub -->|{{#ifexist:Categoria:Stub {{{2|}}}{{{argomento2|}}}||[[Categoria:Stub]]}}<!-- -->}}<!-- -->|}}<!--
-->}}<!--
categorizzazione nella categoria:stub se mancano i parametri -->{{#if:{{NAMESPACE}}||{{#if:{{{1|}}}{{{argomento|}}}{{{2|}}}{{{argomento2|}}}||[[Categoria:Stub]]}} }}<!--
fine del codice del template
--></includeonly><noinclude> <!-- ************************************************************ --> <div style="background-color: #eee; border: 1px solid #000; text-align: center"> '''Includere questo template nelle voci che richiedono di essere ampliate secondo gli standard di wikipedia''' </div> Questo template serve per segnalare le voci che sono allo stato di '''[[Aiuto:abbozzo|abbozzo]]''', ovvero voci brevi (ma più ampie di una voce da dizionario), che richiedono di essere adeguatamente ampliate, su un qualsiasi argomento.{{man}}[[Categoria:Template stub| S]] </noinclude>.
[modifica] 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. Allorché il template contiene al suo interno una categoria può essere più immediato andare a quella categoria.
[modifica] Link per modificare un template
Il link di edit di ogni pagina non permette l'editing del testo del template che appare nella pagina stessa. Potrebbe essere desiderabile avere un link speciale per questo scopo. Questo link può essere inserito nel template stesso. Poiché questi link di edit sono simili nei vari template, potrebbe essere creato un template per lo scopo con il nome del template come parametro. Vedere per esempio Template:ed e Template:Letteratura.
A volte un link di edit non è necessario, per esempio in un template contenente la lista delle province in una regione, che è stata già controllata per eventuali errori e non dovrà essere cambiata per molto tempo.
[modifica] Utilizzo
I template sono utili per ogni testo che occorre avere in due o più pagine e non occorre che il testo venga modificato indipendentemente per adattarlo alle pagine in cui è presente. Dal momento che è possibile utilizzare i parametri, le versioni possono anche essere differenziate dal momento che i parametri sono indipendenti fra le varie pagine.
I template non solo sono comodi ma possono aiutare a raggiungere l'uniformità fra le pagine.
Tipiche applicazioni sono:
- en:Wikipedia:Template messages come Template:stub
- en:Wikipedia:Navigational templates come Template:Europa
- en:Wikipedia:Infobox, ogni volta mostrano lo stesso tipo di informazione con lo stesso formato ma differenziato utilizzando i parametri, per esempio il già menzionato en:Template:Infobox Countries.
- permette la portabilità attraverso le varie lingue dei testi che sono molto simili a parte alcuni termini standard che differiscono per ogni lingua; i termini standard sono rimpiazzati da {{..}} che si riferisce a pagine di template con lo stesso nome ma col contenuto localizzato per ogni lingua. Per esempio en:Wikipedia:Template_messages#Taxobox_components_.28Taxons.29 per le schede di tassonomia, vedi en:Template:Familia e fr:Modèle:Familia.
Sono possibili varie combinazioni. Per esempio, le ultime due possono essere combinate in modo che ogni versione nazionale di Wikipedia ha lo stesso template "Infobox Countries" (ne occorre una copia per ogni progetto poiché non è supportata un meccanismo di importazione fra i vari progetti), che ha i vari dati parametrici e si riferisce ad altri template per la traduzione dei termini standard.
[modifica] Template di navigazione
Un semplice tipo, largamente utilizzato, di template di navigazione in una gerarchia di pagine è costituito dai nomi coi link alle pagine "genitore" e "figlio". È posto in tutte le pagine della gerarchia. Ogni pagina che non è la prima o l'ultima della gerarchia ha due template, una con padre e fratelli, l'altra con i figli.
Possono esserci delle varianti come pagine con due padri ecc.
I self link non sono un problema: sono visualizzati in grassetto piuttosto che come link. In questo caso il template dovrebbe essere nella pagina corretta e non avere redirezioni, altrimenti questa caratteristica non funzionerebbe.
Un template di navigazione può anche permettere di muoversi avanti ed indietro in una sequenza lineare, per esempio Template:Dalai Lama. Un piccolo inconveniente è che l'inizio e la fine della sequenza sono da trattare come un caso a parte.
[modifica] Utilizzi sconsigliati
Si sconsiglia di duplicare i contenuti (sia coi template che senza), per esempio mettere una sezione che ha a che fare con A e B sia in A che in B. Questo ingenera confusione e irrita il lettore, soprattutto se il testo ripetuto non è immediatamente riconoscibile con una formattazione speciale. In questi casi conviene usare i link con le duplicazioni limitate il più possibile.
[modifica] Limitazioni
Un nome di parametro o il suo valore non può contenere il carattere "|", dal momento che serve per separare i parametri. Se occorre usare un "piped link", usare lo stile dei link esterni o due parametri distinti.
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 esplicitarene i 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}}
In un template, il nome di un'immagine o un altro template non possono dipendere da un parametro. Possono essere utilizzate le variabili come mostrato più avanti. In un template, un link ad una pagina con lo stile dei link interni dipendente da un parametro è reso come un link ad una pagina non esistente, per evitare questo utilizzare lo stile dei link esterni.
Vedere per esempio en:Template:T2, richiamato con {{T2|H|a}} risulterà in Wikipedia come en:List_of_people_by_name:_Ha e richiamato con {{T2|H|1}} risulterà en:List_of_people_by_name:_H1. Questi link, anche se appaiono come esterni, sono comunque link a pagine interne e non mostrano se la pagina esiste quindi, indipendentemente dal contenuto, mostrano la pagina e non la pagina di modifica.
[modifica] Immagini nei template
Un'immagine in un template che dovrebbe essere differente in ogni pagina nella quale il template è richiamato, dovrebbe avere un nome del tipo prefisso{{PAGENAME}}suffisso (con un prefisso, un suffisso o entrambi), poiché le variabili sono ammesse nei nomi delle immagini e i parametri no. Attenzione che cambiando il nome della pagina in cui è presente il template, occorre ricaricare l'immagine col nuovo nome.
Esempio: [[Immagine:Location{{PAGENAME}}.png|Location of {{{the}}} {{PAGENAME}}]].
Se il nome dell'immagine dipende da un parametro, l'immagine non viene mostrata nella pagine che la referenzia ma appare soltanto il link alla pagina di descrizione dell'immagine, vedere per esempio en:Template_talk:Infobox Thai Province.
[modifica] Cache
Quando una pagina nel namespace dei template viene modificata, automaticamente azzera la cache di tutte le pagine che utilizzano il template. Comunque, esistono di casi di dipendenza indiretta in cui la pagine potrebbe non venire aggiornata anche premendo Ctrl-F5 o simili. Questo è, per esempio, il caso delle pagine (in genere pagine di discussione sui template) che si riferiscono a [Template:Tc], contenente {{msgnw:{{PAGENAME}}}}, probabilmente perché la pagina di template dipende da una variabile.
[modifica] subst
Nota: dopo la ricategorizzazione dei template (agosto 2005) l'uso di subst: per l'inserimento di un template è da evitare, perché aggiunge la pagina su cui è utilizzato alle categorie di servizio dei template.
Mettendo "subst:" dopo le doppie graffe aperte, questo comando nel wikitext verrà rimpiazzato dal template quando la pagina verrà salvata. Se qualcuno modificherà la pagina in seguito, non vedrà più il tag nel wikitext ma solo il testo sostituito. Questo è simile al "pipe trick" ed alla firma nelle pagine di Talk, vedere Aiuto:Modifica.
- Esempio: {{subst:rcnote}}
Se si vuole utilizzare una versione modificata del messaggio standard, occorre salvare la versione standard e poi modificarla perché nell'anteprima il codice non viene rimpiazzato nel box di edit. Nell'oggetto è possibile indicare con un "tmp" che non si è fatto un errore ma si sta ancora lavorando sulla pagina.
Le variabili sono copiate come appaino nel wikitext.
Se si prova a specificare dei parametri, come in {{subst:t2|R|s}} viene accettata come sintassi del comando subst ma i valori dei parametri saranno ignorati. Se il template ha dei parametri, saranno presenti anche nel testo sostituito.
[modifica] 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.
[modifica] 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:
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 | dappertutto |
ALT_GR+SHIFT+è | ALT+CTRL+SHIFT++ | Microsoft Windows |
ALT+CTRL+SHIFT+è | ALT+CTRL+SHIFT++ | Microsoft Windows |
CONTROL+ALT+è | CONTROL+ALT++ | Mac OS |
[modifica] Voci correlate
- Schema dei template (esclusi quelli sinottici, tematici e di navigazione)
- Tutti i template di Wikipedia
- Categoria:Template
- en:Wikipedia:Template namespace
- m:MediaWiki namespace
- m:MediaWiki_1.3_comments_and_bug_reports#Bugs_related_to_templates
- m:MediaWiki_roadmap#Template_syntax
- m:Message substitution
[modifica] Esempi
(Vedi Puntano qui per le pagine che usano questi template)
Nelle wiki straniere:
- en:Template:Europe
- en:Template:JuneCalendar
- en:Template:Infobox Countries, fr:Modèle:Tableau pays
- many parameters
- images depending on {{PAGENAME}}
- eo:Ŝablono:El
- fr:Modèle:Familia
- http://wikibooks.org/wiki/Template:GeneralChemTOC
- http://wikibooks.org/wiki/Template:New
- Quote of the day