Cimitero:Aiuto:Manuale/Creazione template: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Cimitero:Aiuto:Manuale/Creazione template (visualizza wikitesto)
Versione delle 14:43, 25 apr 2011
, 13 anni fanessun oggetto della modifica
MFHbot (rosica | curriculum) m (Bot: Correzione di una proprietà CSS.) |
MFH (rosica | curriculum) Nessun oggetto della modifica |
||
Riga 11:
Esempio pratico: consideriamo il [[Template:Paranormale]]. Se in una pagina scrivo:
<nowiki>{{Paranormale}}</nowiki>
il contenuto del
{{Paranormale}}
Riga 18:
* '''Template parametrici.''' Contengono codice che si adatta per ogni pagina. In particolare abbiamo le categorie di template [[:categoria:Utility templates|di sistema]], [[:categoria:template di servizio|di servizio]], [[:categoria:template di collegamento|di collegamento]] e [[:categoria:template citazione|di citazione]]
* '''[[:categoria:Template di sezione|Template di navigazione]].''' Raggruppano tutte le pagine di un certo tipo.
* '''Template di abbellimento.''' [[:categoria:Template galleggianti|
* '''[[:categoria:template di avviso|Avvisi]].''' Segnalano un problema relativo alla pagina, e generalmente inseriscono una categoria di manutenzione nell'articolo in cui vengono piazzati.
Riga 42:
{{quote|{{Template|Quote}} è un template, ma '''non è un riquadro'''}}
{|
|Questo è un riquadro, ma '''non è un template'''. Non lo è perché il codice che lo genera si trova in questa stessa pagina, non in una pagina separata ''Template:Vattelapesca''.
|}
Riga 50:
=== Template da NON creare ===
;Riquadri che devono apparire su un solo articolo: {{Dimensione|150%|In questo caso '''scrivi il codice del riquadro nella pagina stessa.'''}}
;Riquadri per la propria pagina utente: come sopra.
;Avvisi: Abbiamo già decine di template di avviso
;Template per sfottere/minacciare i niubbi: Basta! Ce ne sono a trigliaia!
;Doppioni di template già esistenti: Per
;Template che violano le [[Linee guida]]: Ad
===Esperimenti===
Riga 60:
== Codice dei template ==
Come già detto, il sistema integra il codice del template nelle pagine in cui è incluso. Questo può portare a degli inconvenienti: sovrapposizioni, sovraccarichi, bug ecc. Per questo è bene fare attenzione quando si scrive il codice di un template.
=== {{tt|noinclude}} e {{tt|includeonly}} ===
* Il codice compreso tra '''{{tt|<nowiki><noinclude></nowiki>}}''' e '''{{tt|<nowiki></noinclude></nowiki>}}''' compare nella {{u|pagina}} del template (es: ''Template:Lallallà'') ma non in tutte quelle pagine che lo richiamano. Viene utilizzato generalmente per contenere una descrizione del
'''<nowiki><noinclude>{{</nowiki>
* ''includeonly'' funziona esattamente al contrario: il codice compreso tra '''{{tt|<nowiki><includeonly></nowiki>}}''' e '''{{tt|<nowiki></includeonly></nowiki>}}''' compare in tutte le pagine che richiamano il template ma non nella {{u|pagina}} del
=== Parametri ===
<nowiki>{{pappappero|</nowiki>'''''valore 1''|a=''valore a''|''valore 2'''''}}
In questo esempio il template viene evocato con tre parametri, di cui uno nominale ("a"). Nel codice del
Esempio: supponiamo che ''Template:Pappappero'' contenga il codice
<nowiki>::''Meglio [[{{{1|}}}|{{{a|}}}]] oggi, che {{{2|}}} {{{3|domani}}}.''
<noinclude>{{
Una chiamata
<nowiki>{{pappappero|a=un uovo|uomo|una '''[[Paris Hilton|gallina]]'''}}</nowiki>
Riga 82:
# può essere specificato un valore predefinito che compaia nel caso che il parametro non venga chiamato (es: il valore predefinito di {{tt|<nowiki>{{{3|}}}</nowiki>}} è 'domani').
# nella chiamata del template i parametri nominali possono essere inseriti in qualsiasi ordine, mentre quelli numerici vanno inseriti in ordine numerico<ref>Però anche i parametri numerici possono essere chiamati in un ordine casuale con la sintassi ''1=..., 2=... ecc''</ref>.
Se nel template scrivi {{tt|<nowiki>{{{</nowiki>''parametro''}}}}}, il parametro è da inserire obbligatoriamente, altrimenti si vedrà la scritta {{tt|<nowiki>{{{parametro}}}</nowiki>}} all'interno del template. Se invece scrivi {{tt|<nowiki>{{{</nowiki>''parametro''|}}}}}, il parametro è opzionale, quindi compare solo se viene specificato. Infine, come già detto, se scrivi {{tt|<nowiki>{{{</nowiki>''parametro''|''valore di default''}}}}} se non viene specificato nulla viene usato il valore di default. '''Pensa bene a quando usare uno dei tre casi!'''
=== Variabili e funzioni parser ===
{|class="wikitable"
!style="width: 30%;"|Funzione
!|Spiegazione
|-
!|<nowiki>{{PAGENAME}}</nowiki>
||Il titolo della pagina: {{PAGENAME}}.
|-
!|<nowiki>{{FULLPAGENAME}}</nowiki>
||Il nome completo della pagina: {{FULLPAGENAME}}.
|-
!|<nowiki>{{TALKPAGENAME}}</nowiki>
||La discussione della pagina: {{TALKPAGENAME}}.
|-
||'''<nowiki>{{fullurl:</nowiki> ''Pagina'' |action=edit}}'''
||Un link alla modifica della pagina 'Pagina' (che può anche essere <nowiki>{{FULLPAGENAME}} o {{TALKPAGENAME}}</nowiki>)
|-
||'''<nowiki>{{lc:</nowiki>
'''<nowiki>{{uc:</nowiki>
'''<nowiki>{{lcfirst:</nowiki>
'''<nowiki>{{ucfirst:</nowiki>
||testo a caso (tutto il testo diventa in minuscolo)<br />
TESTO A CASO (tutto il testo diventa in maiuscolo)<br />
testo a Caso (la prima lettera diventa minuscola)<br />
Testo a Caso (la prima lettera diventa maiuscola)
|-
||'''<nowiki>{{#if:</nowiki>'''
||Se il parametro 1 ha un valore non nullo compare il testo 'A', altrimenti il testo 'B'.
|-
||'''<nowiki>{{#ifeq:</nowiki>'''
||Se il namespace della pagina è nullo (cioè è un articolo) compare il testo 'A', altrimenti viene chiamato il template 'B'.
|-
||'''<nowiki>{{#switch:
||Restituisce un valore a seconda del parametro 'nazione' ("Italiano" per "Italia", "Tedesco" per "Germania" e "Austria", "Altre lingue" per altri valori). Notare che il parametro viene passato attraverso <nowiki>{{
|}
Line 145 ⟶ 149:
|''parametri cella 2''|''cella 2''
|}
{{Dimensione|150%|Ricorda che le tabelle servono per tabulare dati!|div}}
Per strutturare dei template, è preferibile usare il template {{Template|Riquadro}} o il sistema spiegato qui sotto.
Line 151 ⟶ 158:
''contenuto''
<nowiki></div></nowiki>
"div" è consigliato per fare i riquadri a scatole cinesi (l'uno dentro l'altro)
I parametri delle tabelle e di "div" sono pressappoco gli stessi, e a loro volta sono praticamente identici a quelli dei fogli di stile. Per cui, se te li vuoi smaronare tutti leggiti una guida ai
La sintassi di tutti i parametri è <code>'''parametro = "valore"'''</code>. È da notare che nessun parametro è obbligatorio.
Line 164 ⟶ 171:
Per gestire la posizione '''a destra o a sinistra''' si utilizza l'attributo <code>'''''float:''' left/right''</code><br />
Invece per posizionare il riquadro '''al centro''' useremo la sintassi
margin
(
Con "div" non funziona se non si specifica una larghezza con <code>[[{{FULLPAGENAME}}#width|width]]</code>.
==== ''background-color'' ====
Determina il '''colore di sfondo'''. In questo attributo, come in tutti quelli relativi ai colori, possono essere utilizzati sia i nomi standard (es: <code>background-color: red;</code>) sia i codici RGB (es: <code>background-color: #d0d0f0;</code>). Per saperne di più consulta la [[Aiuto:Colori|guida apposita]].
==== ''color'' ====
Definisce il '''colore del testo'''. Questo parametro però {{u|non influenza i collegamenti}}, a meno che non si utilizzi la class ''link-inherit-color'', in questo modo:
<nowiki>
In alternativa, per modificare il colore di un singolo collegamento, usa il template {{Template|
==== ''font-size'' ====
Modifica la dimensione del testo. Può avere valori in pixel, pt (sconsigliato), em, in percentuale,
==== ''border'' ====
Gestisce i '''bordi'''. ''border'' ha 3 proprietà: spessore, stile e colore. Lo spessore può essere espresso in pixel o in
{|style="width: auto; margin: 0.5em auto; border-spacing: 6px;"
|style="border: solid"|solid
|style="border: dotted"|dotted
Line 193 ⟶ 200:
|}
Esempi:
<nowiki>style="... border: 2px solid #
style=" ... border: 0.25em outset blue; ..."
style=" ... border: thin dashed maroon; ..."</nowiki>
Line 209 ⟶ 216:
==== ''margin'' ====
Imposta la '''distanza tra il bordo del riquadro e gli elementi all'esterno''' nella pagina. Generalmente è espresso in pixel (es: <code>margin: 4px;</code>) o in em (es: <code>margin: 0.5em;</code>). Puoi anche specificare separatamente i margini per ciascun lato, scrivendo <code>margin-top: ... ; margin-bottom: ... ; margin-left: ... ; margin-right: ... ;</code>
==== ''padding'' ====
Imposta la '''distanza tra il bordo del riquadro e il contenuto all'interno'''. Funziona esattamente come ''margin''.
==== ''clear'' ====
Se noti che il template ha la tendenza a sovrapporsi con delle immagini o con altri template, puoi inserire ''clear: both;'', in modo da evitare che oggetti fluttuanti (ovvero che hanno la proprietà <code>[[{{FULLPAGENAME}}#Allineamento_orizzontale|float]]</code> impostata) si sovrappongano. Altri valori possono essere <code>left</code> e <code>right</code>, che impediscono rispettivamente la presenza di oggetti fluttuanti a sinistra e a destra.<br />
{{Dimensione|130%|'''Evita'''}} il più possibile l'uso di <nowiki><br style="clear: both;" /></nowiki>, o peggio ancora <nowiki><br clear="all" /></nowiki>, poiché lo scopo del tag <nowiki><br /></nowiki> è mandare a capo una riga, non separare due riquadri.
=== Classi ===
Le classi contengono delle impostazioni preformate, e talvolta delle funzionalità avanzate scritte in javascript. Per attivarle si utilizza il parametro {{tt|1=class="''nomeclasse1 nomeclasse2''"}}
==== radius ====
La classe "radius" permette di generare delle caselle dai margini arrotondati, come questa:
<div class="
== Template di navigazione e template a scomparsa==
I template di navigazione sono essenzialmente dei riquadri che contengono dei collegamenti alle stesse pagine in cui sono inclusi (fungono da indice). Molti di essi sono "a scomparsa", cioè visualizzano il loro contenuto solo se vengono attivati da un click.
Ci sono due modi per creare dei
# utilizzare il template {{Template|Cassetto}}
# aggiungere la class "collapsible" alla tabella:
Line 233 ⟶ 243:
|.....
|}
== Template galleggianti ==
Sono template che si posizionano sullo schermo in modo indipendente rispetto al resto della pagina, e non scorrono con essa ("galleggiano"). Vanno creati '''con molta cautela''' e senza esagerare, o possono risultare estremamente fastidiosi. Il codice grezzo per crearli è:
<nowiki><div style="position: fixed; right: ...px; bottom: ...px; overflow: visible;">
[[File:...]]
<div style="position:absolute; right: ...px; bottom:...px; overflow: hidden">Testo
</div>
</div>
|