Aiuto:Come creare un template

Da Wikisource.

La sintassi per l'inserimento della pagina "Template:nome" in un'altra pagina è {{nome}}.

Questo codice scritto in fase di Modifica provoca l'inserimento del contenuto del template quando la pagina viene visualizzata a seguito del suo salvataggio.

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.

Parametri[modifica]

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.

Vedere il contenuto di un template[modifica]

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:Come creare un template for the usage of "Come creare un template" 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.

Markup d'inclusione parziale[modifica]

È possibile includere parzialmente un template, o in generale una pagina qualsiasi, tramite l'utilizzo dei seguenti tag MediaWiki:

<noinclude>...</noinclude>
Tutto ciò che è compreso all'interno di questo tag viene mostrato se si visualizza direttamente la pagina, ma non viene incluso nelle pagine che la richiamano
<includeonly>...</includeonly>
Tutto ciò che è compreso all'interno di questo tag non viene mostrato se si visualizza direttamente la pagina, ma viene incluso nelle pagine che la richiamano
<onlyinclude>...</onlyinclude>
Solo ciò che è compreso all'interno di questo tag viene incluso nelle pagine che richiamano la pagina. Questo tag può essere utilizzato in combinazione con gli altri due e anche più volte all'interno della stessa pagina, ma dato che il suo comportamento può risultare poco intuitivo, l'utilizzo richiede attenzione. Ad esempio il contenuto dei tag includeonly inseriti fuori dagli onlyinclude viene ignorato.

msgnw[modifica]

Nel wikitext, usare "msgnw:" dopo le parentesi graffe aperte per visualizzarne il contenuto. Per esempio

{{Rule}}

e

{{msgnw:Rule}}

visualizzano rispettivamente


e <includeonly>{{#if:{{{l|}}}|<div style="width:{{{l}}}">}}<hr style="background-color:#{{{2|aaa}}}; color:#{{{2|aaa}}}; margin-right:auto; margin-left:auto; margin-top:{{{t|0.1}}}pc; margin-bottom:{{{v|0.1}}}pc; width:{{{1|100%}}}; height:{{{h|1px}}}" />{{#if:{{{l|}}}|</div>}}</includeonly><noinclude>{{documentazione}}</noinclude>

Elenco delle pagine che contengono un template[modifica]

Per verificare quali pagine contengono un template si utilizza (come per qualsiasi pagina) il Pagine che portano qui degli strumenti a sinistra. Allorché il template contiene al suo interno una categoria può essere più immediato andare a quella categoria.

Utilizzo[modifica]

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

Immagini nei template[modifica]

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.

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

subst[modifica]

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 testo da modificare ma solo il testo prodotto dal template. 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.

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 Wikisource allo stesso modo.

Voci correlate[modifica]

Esempi[modifica]

(Vedi Puntano qui per le pagine che usano questi template)

Nelle wiki straniere: