Ero sivun ”Wikiprojekti:Mallineet/Hiekkalaatikko” versioiden välillä

Poistettu sisältö Lisätty sisältö
kh
vähän lisää, uupuu enää #ifeq: #ifexist: #ifexpr: #switch: #time: #rel2abs: subst noinclude ja includeonly
Rivi 20:
Yksinkertaisimmillaan malline voidaan liittää artikkeliin sulkemalla mallineen nimi (ilman nimiavaruusosaa ''Malline:'') tuplakaarisulkeiden sisälle:
 
<pre> <nowiki>
{{Mallineen nimi}}
</nowiki></pre>
 
Tällaisissa tapauksissa malline on niin kutsuttu ''listaava'' tai ''luetteloiva'' malline ilman sen kummempaa toiminnallisuutta, tai rakennettu siten että malline toimii yleisimmissä tapauksissa ilman parametreja.
 
Kun malline vaatii parametreja, lisätään ne mallineen nimen perään pystyviivalla eroteltuna:
<pre> <nowiki>
{{Mallineen nimi|1|2|3}}
{{Mallineen nimi|parametri2=2|parametri1=1|parametri3=3}}
{{Mallineen nimi|1|2|parametri4=4}}
</nowiki></pre>
 
# Ensimmäisessä tapauksessa malline vastaanottaa parametreja tietyssä järjestyksessä, eikä parametria tule eikä pidä nimetä.
Rivi 42:
Alasivun kutsuminen artikkelissa tapahtuu muuten samoin kuin mallinekutsu, mutta mukaan täytyy liittää kauttaviiva nimen eteen:
 
<pre> <nowiki>
{{/Alasivu}}
</nowiki></pre>
 
Artikkelin alasivun kutsuminen toisella alasivulla taas tapahtuu liittämällä nimen eteen ../ :
<pre> <nowiki>
{{../Alasivu}}
</nowiki></pre>
 
Myös alasivut osaa käsitellä parametreja samalla tavalla kuin mallineet, pystyviivalla eroteltuna:
<pre> <nowiki>
{{/Alasivu|1|2|3}}
{{/Alasivu|parametri2=2|parametri1=1|parametri3=3}}
{{/Alasivu|1|2|parametri4=4}}
</nowiki></pre>
 
Tarvittaessa sivulle voidaan liittää myös toinen artikkeli:
<nowiki>
{{:Toinen artikkeli}}
</nowiki>
 
Tätä kuitenkin tulee välttää, sillä hyvin harvoin tämä on tarpeellista.
 
==Mallineen luonti==
Rivi 71 ⟶ 78:
 
==Toiminnallisuuden lisääminen mallineeseen==
Mallineisiin voidaan lisätään toiminnallisuutta ''parametreilla'' ja ''funktioilla''.
 
===Parametrit===
Parametrit ovat eräänlaisia [[muuttuja|muuttujia]] jotka vastaanottavat mallinekutsussa (katso yllä) mallineelle erilaisia arvoja. Parametrit suljetaan mallineen sisällä kolmoiskaarisulkeisiin ( <nowiki>{{{ ja }}}</nowiki> ) ja ne voidaan asettaa minne tahansa tavallisen mallinesisällön sisään.
 
'''Esimerkki''':
<nowiki>Malline parametrilla jonka arvo on {{{1}}}}</nowiki>
 
Esimerkki tulostaisi kohtaan <nowiki>{{{1}}}</nowiki> mallineelle ensiksi määritellyn parametrin. Mikäli kolmoiskaarisulkeiden sisällä olisi numeron sijasta tekstiä, esimerkiksi <nowiki>{{{parametri}}}</nowiki>, pitäisi mallinetta kutsuessa määritellä ''parametri = arvo''.
 
====Parametrien ketjuttaminen====
Välillä mallinetta luodessa tulee ajatusvirheitä parametrien nimissä, tai tarvitaan tulostaa tietty asia kun yksi parametri kahdesta (tai useammasta parametrista) on määritelty. Näissä tapauksissa parametreja voidaan ketjuttaa:
 
<nowiki>{{{param|{{{parametri}}}}}}</nowiki>
 
Yllämainitussa esimerkissä tulostettaisiin parametrin ''param'' arvo, tai jos sitä ei olisi määritelty, tulostettaisiin parametrin ''parametri'' arvo. Tällä keinolla laajasti käytössä olevan mallineen parametrien nimiä voidaan muuttaa ilman että mallinetta käyttävät sivut häiriintyy muutoksesta, ja saadaan aikaa päivittää mallinetta käyttävät sivut käyttämään uusia parametreja.
 
Parametreja voidaan käytännössä ketjuttaa kuinka monta tahansa lisäämällä aina pystypalkki ja uusi parametri ylläolevan esimerkin mukaisesti parametrin nimen tai numeron perään.
 
====Parametrin ehdollistaminen ja oletusarvon käyttö====
Parametri voidaan tarvittaessa ehdollistaa käyttämällä parametrien ketjuttamisessa kuvattua tapaa, mutta sen sijaan että määriteltäisiin uusi parametri, voidaan määritellä tyhjä (eli ehdollistaa) tai oletusarvo:
 
<nowiki>{{{1|ei arvoa}}} {{{2|}}}</nowiki>
 
Ylläoleva esimerkki tulostaisi ensimmäisen parametrin arvon tai ''ei arvoa'' ja lisäisi tulosteen perään toisen parametrin arvon mikäli se olisi määritelty.
 
====Vakiomuuttujat====
Mediawiki määrittelee suuren joukon vakiomuuttujia. Poiketen parametreista, vakiomuuttujat lisätään kaksoiskaarisulkeiden (<nowiki>{{ ja }}</nowiki>) sisälle. Vakiomuuttujia ovat:
 
{| class="prettytable" width="100%"
|-
! style="width: 200px" | Muuttuja
! Tulos
|-
|<nowiki>{{CURRENTMONTH}}</nowiki>
|{{CURRENTMONTH}}
|-
|<nowiki>{{CURRENTMONTHNAME}}</nowiki>
|{{CURRENTMONTHNAME}}
|-
|<nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki>
|{{CURRENTMONTHNAMEGEN}}
|-
|<nowiki>{{CURRENTMONTHABBREV}}</nowiki>
|{{CURRENTMONTHABBREV}}
|-
|<nowiki>{{CURRENTDAY}}</nowiki>
|{{CURRENTDAY}}
|-
|<nowiki>{{CURRENTDOW}}</nowiki>
|{{CURRENTDOW}}
|-
|<nowiki>{{CURRENTDAYNAME}}</nowiki>
|{{CURRENTDAYNAME}}
|-
|<nowiki>{{CURRENTWEEK}}</nowiki>
|{{CURRENTWEEK}}
|-
|<nowiki>{{CURRENTYEAR}}</nowiki>
|{{CURRENTYEAR}}
|-
|<nowiki>{{CURRENTTIME}}</nowiki>
|{{CURRENTTIME}}
|-
|<nowiki>{{NUMBEROFARTICLES}}</nowiki>
|{{NUMBEROFARTICLES}}
|-
|<nowiki>{{NUMBEROFFILES}}</nowiki>
|{{NUMBEROFFILES}}
|-
|<nowiki>{{ns:-2}} tai {{ns:Media}}</nowiki>
|{{ns:-2}}
|-
|<nowiki>{{ns:-1}} tai {{ns:Special}}</nowiki>
|{{ns:-1}}
|-
|<nowiki>{{ns:1}} tai {{ns:Talk}}</nowiki>
| {{ns:1}}
|-
| <nowiki>{{ns:2}} tai {{ns:User}}</nowiki>
| {{ns:2}}
|-
| <nowiki>{{ns:3}} tai {{ns:User_talk}}</nowiki>
| {{ns:3}}
|-
| <nowiki>{{ns:4}} tai {{ns:Project}}</nowiki>
| {{ns:4}}
|-
| <nowiki>{{ns:5}} tai {{ns:Project_talk}}</nowiki>
| {{ns:5}}
|-
| <nowiki>{{ns:6}} tai {{ns:Image}}</nowiki>
| {{ns:6}}
|-
| <nowiki>{{ns:7}} tai {{ns:Image_talk}}</nowiki>
| {{ns:7}}
|-
| <nowiki>{{ns:8}} tai {{ns:MediaWiki}}</nowiki>
| {{ns:8}}
|-
| <nowiki>{{ns:9}} tai {{ns:MediaWiki_talk}}</nowiki>
| {{ns:9}}
|-
| <nowiki>{{ns:10}} tai {{ns:Template}}</nowiki>
| {{ns:10}}
|-
| <nowiki>{{ns:11}} tai {{ns:Template_talk}}</nowiki>
| {{ns:11}}
|-
| <nowiki>{{ns:12}} tai {{ns:Help}}</nowiki>
| {{ns:12}}
|-
| <nowiki>{{ns:13}} tai {{ns:Help_talk}}</nowiki>
| {{ns:13}}
|-
| <nowiki>{{ns:14}} tai {{ns:Category}}</nowiki>
| {{ns:14}}
|-
| <nowiki>{{ns:15}} tai {{ns:Category_talk}}</nowiki>
| {{ns:15}}
|-
| <nowiki>{{SITENAME}}</nowiki>
| {{SITENAME}}
|-
| <nowiki>{{SERVERNAME}}</nowiki>
| {{SERVERNAME}}
|-
| <nowiki>{{SERVER}}</nowiki>
| {{SERVER}}
|-
| <nowiki>{{SCRIPTPATH}}</nowiki>
| {{SCRIPTPATH}}
|-
| <nowiki>{{localurl:pagename}}</nowiki>
| {{localurl:pagename}}
|-
| <nowiki>{{localurl:pagename|</nowiki>''query string''<nowiki>}}</nowiki>
| {{localurl:pagename|''query string''}}
|-
| <nowiki>{{PAGENAME}}</nowiki>
| {{PAGENAME}}
|-
| <nowiki>{{PAGENAMEE}}</nowiki>
| {{PAGENAMEE}}
|-
| <nowiki>{{NAMESPACE}}</nowiki>
| {{NAMESPACE}}
|}
 
===Funktiot===
Wikipediassa on käytössä [[:meta:ParserFunctions|ParserFunctions]] -laajennus, joka tukee seuraavia funktioita:
 
====#expr:====
<nowiki>{{#expr: lauseke}}</nowiki>
''expr'' laskee matemaattisia lausekkeita, ja tukee seuraavia matemaattisia ja loogisia operaattoreita: (), +, -, not, *, /, div, mod, round, =, <>, !=, <, >, <=, >=, and ja or.
 
Esimerkki:
<nowiki>{{#expr: 6 + (2 * 4)}}</nowiki>
 
Lisätietoja [[:meta:ParserFunctions#.23expr:]]
 
====#if:====
<nowiki>{{#if: ehto | teksti | muuten teksi}}
{{#if: ehto | teksti }}</nowiki>
''if'' on looginen ehtolause, joka tulostaa tietyn tekstin mikäli parametri ei ole tyhjä (eli parametria on määritelty ja parametri sisältää muutakin kuin [[tulostumaton merkki|tulostumattomia merkkejä]]) ja tarvittaessa kun ehto ei täyty, toisen tekstin.
 
Esimerkki:
<nowiki>{{#if: {{parametri|}} | parametri määritelty | parametria ei määritelty}}</nowiki>
 
Lisätietoja [[:meta:ParserFunctions#.23if:]]
 
====#ifeq:====
 
====#ifexist:====
 
====#ifexpr:====
 
====#switch:====
 
====#time:====
 
====#rel2abs:====
 
==Muut mallineisiin liittyvät Mediawikin ominaisuudet==
 
===subst===
 
===noinclude===
 
===includeonly===
 
[[Luokka:Wikiprojektit|{{PAGENAME}}]]