# MediaWiki/Template

MediaWiki
Copertina Tutti i moduli · Sviluppo
IntroduzioneMediaWiki/Introduzione
Markup NamespaceMediaWiki/Namespace TemplateMediaWiki/Template Ricerca SkinMediaWiki/Le skin EdittoolsMediaWiki/Edittools Importazione ed esportazioneMediaWiki/Importazione ed esportazione API
PrerequisitiMediaWiki/Installare i programmi necessari - InstallazioneMediaWiki/Installazione - ConfigurazioneMediaWiki/Configurazione - LocalSettings.phpMediaWiki/LocalSettings.php UploadMediaWiki/Upload
Personalizzare la graficaMediaWiki/Personalizzare la grafica
* Hacking interfacciaMediaWiki/Hacking interfaccia
* La barra lateraleMediaWiki/La barra laterale
* La toolbar di modificaMediaWiki/
* Altre personalizzazioni graficheMediaWiki/Altre personalizzazioni grafiche
Cancellare vandalismi in Ultime modificheMediaWiki/Ultime modifiche Limitare l'accesso al wikiMediaWiki/Restrizioni di accesso AggiornamentoMediaWiki/Aggiornamento Dump JavascriptMediaWiki/Javascript AltroMediaWiki/Come fare per
Le estensioniMediaWiki/Estensioni
* Semantic MediaWikiMediaWiki/Semantic MediaWiki
* Formule matematicheMediaWiki/TeX
* Estensione CollectionMediaWiki/Estensione Collection
* Estensione WarnNoCategoriesMediaWiki/Estensione WarnNoCategories
Contribuire allo sviluppo di MediaWikiMediaWiki/Contribuire Grammatica del markup GlossarioMediaWiki/Glossario
Modifica il sommario
Un template è una pagina del namespace Template. Il contenuto di un template viene incluso con una speciale sintassi:
Quando l'utente consulta una pagina che contiene questa scritta, MediaWiki cerca la pagina chiamata Template:NomeDellaPagina, e visualizza automaticamente il contenuto della pagina al posto della scritta. Tecnicamente, tutte le pagine del wiki possono essere incluse, la presenza di un namespace apposito serve unicamente per tenere ordinati i contenuti del wiki, distinguendo le "pagine dei contenuti" (namespace principale) dalle "pagine fatte per essere incluse" (namespace Template).
I template possono essere usati per
* includere in molte pagine un contenuto identico, come una nota o un disclaimer;
* dare una formattazione standard ai contenuti delle pagine;
Il meccanismo dei template assicura che le modifiche saranno fatte solo sulla pagina del template, e MediaWiki la sostituirà automaticamente sulle pagine che richiamano il template.

## Alternative

* Extension:LabeledSectionTransclusion

## Programmarli con Lua

Ad aprile 2012, gli sviluppatori di MediaWiki stanno sviluppando meccanismi per supportare un linguaggio di programmazione general-purpose per programmare i template. Tra i tanti linguaggi a disposizione, è stato scelto il Lua. Finché non ci sarà un supporto ufficiale, integrato direttamente in MediaWiki, gli utenti possono esercitarsi con
* Il demo sul sito ufficiale di Lua
* una estensione per MediaWiki sviluppata in precedenza da una terza parte
* l'estensione (incompleta e utilizzabile solo a fini di test) in cui gli sviluppatori stanno implementando il supporto per Lua che sarà integrato in MediaWiki
* Una wiki allestita su Wikia apposta per questo scopo, che già adesso fornisce supporto per questo linguaggio, ed è liberamente editabile
Per la sintassi si rimanda a:
* il wikibook "Lua"
* la pagina dedicata al Lua nel wikibook sulle espressioni regolari

### Cheat sheet
## Come fare per...
### Template auto-substante

Salvando un template intenzionalmente vuoto, chiamato Template:Void, e salvando in un secondo template questo codice (scrivendo il nome del template al posto di nometmpl):
    {{{subst:void}}{subst:nometmpl}}
il codice {{subst:nometmpl}} si replicherà ad ogni salvataggio. In assenza del subst:void, il trucco non sarebbe possibile, perché MediaWiki rileverebbe un loop del template (il template transclude se stesso) e quindi darebbe errore.

## Note

* ↑ http://www.mediawiki.org/wiki/Lua_scripting