Apri il menu principale

Wikibooks β

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 (o wikitesto) provoca l'inserimento del contenuto del template quando la pagine 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.

ParametriModifica

Sono supportati i template parametrici, richiamabili sia mediante un nome che mediante un numero. La sintassi è {{templatename|nomeparametro1=valoreparametro1|nomeparametro2=valoreparametro2}} con i tag {{{nomeparametroe}}} 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 namespace di sistema MediaWiki (messaggi di interfaccia) sono scritti in maniera differente: $1, $2, etc.

Vedere il contenuto di un templateModifica

Per vedere il codice di un template è necessario aprire la pagina del template nel suo namespace, ma per una corretta visualizzazione è necessario aprirlo in modalità di modifica in quanto:

  • le variabili speciali (come {{PAGENAME}} vengono trattate come tali, e quindi si vede il loro valore;
  • se i parametri hanno valori predefiniti, sarà mostrato il template come se questi fossero applicati.

In effetti, il rendering di una pagina template può implicare anche altre conversioni che non è utile prendere in considerazione.

msgnwModifica

Nel wikitext, usare "msgnw:" dopo le parentesi graffe aperte per visualizzare il contenuto del template come se fosse racchiuso da tag <nowiki></nowiki>. Infatti, un codice come questo: <nowiki>{{avanzamento|0%}}</nowiki>, non mostrerà il contenuto del template {{avanzamento}}, bensì {{avanzamento|0%}}'', senza considerare l'inclusione.

Link per modificare un templateModifica

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.

A volte un link di edit non è tuttavia necessario, per esempio un un template contenente la lista delle provincie in una regione, che è stata già controllata per eventuali errori e non dovrà essere cambiata per molto tempo.

UtilizzoModifica

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, ma è possibile farlo automaticamente. 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:

  • template di grafica, come il Template:Sommario V, che serve a creare indici di navigazione standard
  • template infobox (o template sinottici, che creano tabelle predefinite per mostrare dati in maniera veloce e sintetica (vedi il template {{infobox ricetta}})
  • template di sistema, come il template {{libro}}, per semplificare alcune operazioni comuni

Utilizzi sconsigliatiModifica

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.

LimitazioniModifica

Un nome di parametro o il suo valore non può contenere il carattere "|", dal momento che serve per separare i parametri, tranne però nei link. Per questo si può ricorrere alla funzione parser {{!}}.

CacheModifica

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 agggiornata anche premendo Ctrl-F5 o simili.

Succede ad esempio con template che categorizzano le pagine: dopo aver cambiato la categorizzazione, sarà necessario aspettare un po' prima che il software riconosca la nuova categorizzazione.

substModifica

Mettendo "subst:" dopo le doppie graffe aperte, il comando di inclusione nel wikicodice verrà rimpiazzato dal template quando la pagina verrà salvata. Se qualcuno modificherà la pagina in seguito, non vedrà più il tag di inclusione ma solo il testo sostituito. Questo è simile al "pipe trick" ed alla firma nelle pagine di Talk, vedere Wikibooks:Come modificare una pagina.

Esempio: {{subst:avanzamento|0%}}

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 specificano dei parametri, come in {{subst:t2|R|s}}, questi saranno sostituiti all'interno del template che si va a substare.

Attenzione: usare il subst solo quando ce n'è un reale bisogno. Eventuali usi al solo scopo di "alleggerire il carico dei server" sono superflui, perché il software conserva in una cache il testo delle pagine visitate più di frequente e non lo interpreta ad ogni visita. Inoltre, hanno l'effetto negativo di rendere il testo wiki meno leggibile agli utenti meno esperti.[1]

NoteModifica

Pagine correlateModifica