Aiuto:Template
Un template è una pagina speciale creata per essere inclusa in altre pagine.
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, dei box informativi o degli avvisi
- inserire elementi di cui sia possibile programmare il comportamento in funzione di alcune variabili.
I template sono contenuti nel namespace template, cioè il namespace con la forma "Template:NOME" (ad esempio: Template:S).
Inserimento
[modifica]Tutte le pagine con questo namespace possono essere inserite rapidamente in una pagina, semplicemente scrivendo il nome del template (la parte che segue la scritta Template:) tra parentesi graffe, 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.
È fortemente sconsigliato 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 ricorsiva: 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.
Template parametrici
[modifica]![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Curly_Brackets.svg/75px-Curly_Brackets.svg.png)
Quando si costruisce un template, può essere necessario lasciare all'utente la possibilità di personalizzare una parte del testo o del comportamento del template. In questo caso, l'utente indica un parametro che poi verrà sfruttato per la risoluzione del template stesso.
I parametri vengono espressi in seguito alla dichiarazione del nome del parametro, e possono essere identificati da un nome di variabile o da un numero progressivo. I due template
{{pagina di prova|nome=CICCIO|cognome=PIPPO|data=martedì}}
- e
{{pagina di prova|CICCIO|PIPPO|martedì}}
sono equivalenti, ma per utilizzare le variabili del primo bisognerà specificare, nel template le variabili
{{{nome}}}, {{{cognome}}} e {{{data}}}
- mentre per il secondo si userà
{{{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}}}, etc. nel template.
nota importante: i tag dei parametri nel template hanno tre parentesi graffe e non due!
Nella fase di rendering (ossia di risoluzione dell'operazione di 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 (solitamente con la forma {{{1|}}}, cioè con un pipe dopo il nome della variabile).
Oltre ai parametri dichiarati dall'utente, è possibile usare alcune "parole magiche" per inserire funzioni particolari, come i nomi delle pagine in cui il template è incluso ({{PAGENAME}}) o la data ({{CURRENTDAY}} {{CURRENTMONTHNAME}} e {{CURRENTYEAR}} nelle varie combinazioni).
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 con il nome del template.
Modificare un template
[modifica]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 vedere il contenuto di un template è necessario 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 vedere tutti i template inseriti nella pagina, scegliere e modificare il template desiderato.
È 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 crea un gran numero di richieste ai server, che devono aggiornare tutte le pagine che lo includono. Questo ritarda altre funzioni più comune svolte dai medesimi server. È sempre meglio provare le modifiche in una sandbox prima di effettuare modifiche a template molto usati.
Quando scrivi un template è sempre una buona idea effettuare le seguenti operazioni:
- Inserire tutto il testo del template tra i tag <includeonly></includeonly>
- Inserire le categorie a cui il template appartiene, un breve testo di istruzioni e una presentazione delle funzioni del template tra i tag <noinclude></noinclude>
- 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).
msgnw
[modifica]Nel wikitext, usare "msgnw:" dopo le parentesi graffe aperte per visualizzarne il contenuto. Per esempio {{Cronologico}} e {{msgnw:Cronologico}} visualizzano rispettivamente:
Citazioni in ordine temporale.
e
<noinclude>{{Man template}}</noinclude>
[[File:TriangleArrow-Right.svg|6px|link=]] <small title="Le citazioni più recenti al fondo">''Citazioni in ordine temporale.''</small><noinclude>
{{man}}</noinclude>
Elenco delle pagine che contengono un template
[modifica]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.
Link per modificare un template
[modifica]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.
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.
Se il link di edit non fosse presente, e fosse necessatio modificarlo, lo si può inividuare con il metodo descritto nella sottostante sezione "Elenco dei template inclusi in una pagina".
Elenco dei template inclusi in una pagina
[modifica]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 clickare sul nome di uno di essi per raggiungere la relativa pagina e da lì, eventulmente, 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).
Utilizzo
[modifica]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:
- Avvisi (en:Wikipedia:Template messages) come Template:S
- Template di navigazione (en:Wikipedia:Navigational templates) come Template:Agente 007
- Infobox (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.
Template di navigazione
[modifica]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.
Utilizzi sconsigliati
[modifica]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 genera 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.
Limitazioni
[modifica]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 altro template non può dipendere da un parametro.
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.
Cache
[modifica]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 pagina 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.
subst
[modifica]Nota: 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 Wikiquote:Come si modifica una pagina.
- Esempio: {{subst:PDA}}
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.
Controllare l'aspetto grafico
[modifica]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 Wikiquote allo stesso modo.
Parentesi graffe
[modifica]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_GR+SHIFT++ | Microsoft Windows |
ALT+CTRL+SHIFT+è | ALT+CTRL+SHIFT++ | Microsoft Windows |
CONTROL+ALT+è | CONTROL+ALT++ | Mac OS |
Variabili di sistema
[modifica]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. Vedi w:it:Aiuto:Variabili.
Voci correlate
[modifica]- Categoria:Template
- w: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
Esempi
[modifica](Vedi Puntano qui per le pagine che usano questi template)
- Template:S (abbozzo)
- Template:Benvenuto
- Template:Ace Ventura
Nelle wiki straniere:
- http://wikibooks.org/wiki/Template:GeneralChemTOC
- http://wikibooks.org/wiki/Template:New
- Quote of the day
Pagine correlate
[modifica]- Template:Tl Template utile per citare template (in documentazione, esempi, discussioni ecc.)