From Wikipedia, the free encyclopedia
Gre za kopijo temeljne predložne strani z Meta. Kopije ne urejajte. Stran posodobite s kopiranjem iz meta, pri čemer pazite, da se bodo ohranile vse za Wikipedijo specifične predloge.
Opombe, prosim dodajte na pogovorni strani.
Ta razširitev programja MediaWiki je zbirka funkcij za razčlenjevanje kode. Funkcije za razčlenjevanje kode imajo v splošnem skladnjo:
Ta modul trenutno definira osem funkcij:
expr,
if,
ifeq,
ifexist,
ifexpr,
switch, and
time, and
rel2abs.
Funkcija expr izračunava matematične izraze na osnovi permutacije števil (ali spremenljivk / parametrov, ki se prevedejo v števila) in operatorjev. Z nizi ne deluje; zanje uporabite funkcijo ifeq. Skladnja je naslednja:
{{ #expr: expression }}
Sledi seznam podprtih operatorjev. Za več podrobnosti glej m:Pomoč:Računanje, v grobem pa gre za (1) grupiranje (oklepaji), (2) unarne (znaki + / - in NOT), (3) multiplikativne (*, /, div, mod), (4) aditivne (+ and -), (5) zaokrožitveni, (6) primerjalne (=, !=, <, > itd.), (7) logični AND, (8) logični OR. V istem prednostnem razredu so operatorji obravnavani z leve na desno. Kot vedno je bolje uporabiti nekaj odvečnih oklepajev kot napačno jedrnato kodo.
Operator | Operacija | Zgled |
---|---|---|
none |
{{ #expr: 123456789012345 }} = 1.2345678901234E+14 | |
{{ #expr: 0.000001 }} = 1.0E-6 | ||
( ) | Operatorji grupiranja |
{{ #expr: (30 + 7) * 7 }} = 259 |
+ | Unarni znak + |
{{ #expr: +30 * +7 }} = 210 |
- | Unarni znak - (negacija) |
{{ #expr: -30 * -7 }} = 210 |
not | unarni NOT, logični NOT |
{{ #expr: not 0 * 7 }} = 7 |
* | množenje |
{{ #expr: 30 * 7 }} = 210 |
/ | deljenje, enako kot div |
{{ #expr: 30 / 7 }} = 4.2857142857143 |
div | deljenje, enako kot /, brez celoštevilčnega deljenja |
{{ #expr: 30 div 7 }} = 4.2857142857143 |
mod | Modulo, ostanek po celoštevilčnem deljenju. Pozor, div in mod sta drugačna kot pri programskih jezikih. |
{{ #expr: 30 mod 7 }} = 2 |
+ | Seštevanje |
{{ #expr: 30 + 7 }} = 37 |
- | Odštevanje |
{{ #expr: 30 - 7 }} = 23 |
round | Zaokroži število na levi na potenco 1/10, dano na desni |
{{ #expr: 30 / 7 round 4 }} = 4.2857 |
= | Enako (numerično in logično) |
{{ #expr: 30 = 7 }} = 0 |
<> | Neenako, enako kot != |
{{ #expr: 30 <> 7 }} = 1 |
!= | Neenakost, enako kot <>, logični xor |
{{ #expr: 1 != 0 }} = 1 |
< | Manjše |
{{ #expr: 30 < 7 }} = 0 |
> | Večje |
{{ #expr: 30 > 7 }} = 1 |
<= | Manjše ali enako |
{{ #expr: 30 <= 7 }} = 0 |
>= | Večje ali enako |
{{ #expr: 30 >= 7 }} = 1 |
and | Logični AND |
{{ #expr: 4 < 5 and 4 mod 2 }} = 0 |
or | Logični OR |
{{ #expr: 4 < 5 or 4 mod 2 }} = 1 |
Booleanovi operatorji obravnavajo 0 kot vrednost false (neresnično), vsa druga števila pa kot true (resnično). Pri izložku se true prikaže kot 1.
Števila so decimalno podana z "." za decimalno piko. Za spremembo decimalne pike v vejico za krajevno prilagoditev programja lahko uporabite funkcijo formatnum:
. Znanstvena notacija z eksponentom E plus za izraze še ni podprta, uporablja pa se pri izložku. Za podrobnosti glej m:Pomoč:Računanje.
Funkcija {{#if:}} je konstrukt vrste če-potem-sicer. Njena skladnja je:
{{ #if: <niz pogoja> | <besedilo za potem> | <besedilo za sicer> }} {{ #if: <niz pogoja> | <besedilo za potem> }}
Uporabljeni pogoje je "Niz pogoja je ne-prazen". Tako je pri praznem nizu pogoja ali nizu pogoja, ki sestoji le iz belih znakov, pogoj neresničen in programje vrne besedilo sicer. Sicer vrne besedilo potem. Besedilo sicer lahko izpustite, pri čemer bo, kadar bo pogoj neresničen, rezultat prazen.
Zgled:
{{ #if: {{{parameter|}}} | Parameter je definiran. | Parameter je nedefiniran ali prazen }}
Pri tem poudarimo, da niz pogoja sam po sebi ni niz kot npr. "1 = 2"; na primer, {{ #if: 1 = 2 | da | ne }} vrne "da", saj niz "1 = 2
" ni prazen. Znakov "=" in matematičnih izrazov funkcija {{#if:}} torej ne podpira.
Funkcija {{#ifeq:}} primerja dva niza ali števili in glede na rezultat primerjave vrne drug niz. Skladnja je:
{{ #ifeq: <besedilo 1> | <besedilo 2> | <besedilo pri enakosti> | <besedilo pri neenakosti> }}
Kadar je oba niza mogoče tolmačiti kot število, je rezultat številčen. Za primerjavo nizov dodajte znake, ki jih kot število ni mogoče tolmačiti:
Primerjava nizov upošteva tudi velikost črk:
Funkcija {{#ifexist:}} vrne enega od dveh rezultatov, odvisno od tega, ali določena stran obstaja.
{{ #ifexist: <page name> | <wikitext if page exists> | <wikitext if page does not exist> }}
Veljajo običajna pravila za razlikovanje velikosti črk: kadar stran obstaja, da pozitiven rezultat tudi nekanonično ime strani. Zgled na Meta:
Prvi parameter je naslov, ki ga naj programje išče, drugi je pozitivni rezultat, tretji pa negativni rezultat. Kadar vpisani parameter ne vrne veljavnega naslova objekta, je rezultat negativen.
Enak rezultat da m:Template:exists (pogovor, povezave, uredi), razen da je rezultat za interwiki-povezavo pozitiven. Interwikipovezavo lahko obravnavate tudi z m:Template:if interwiki link (pogovor, povezave, uredi).
Funkcija {{#ifexpr:}} obravnava matematični izraz in glede na rezultat vrne enega od dveh nizov.
{{ #ifexpr: <expression> | <then text> | <else text> }}
Če je rezultat izraza nič, funkcija vrne besedilo sicer, drugače pa besedilo potem. Skladnja izraza je enaka kot za expr.
Primer uporabe: {{ #if: {{#ifexpr: {{PAGENAME}} }} || rezultat, kadar je PAGENAME število (ali pravilen numerični izraz) }}
Za uporabo glej tudi m:Template:evalns (pogovor, povezave, uredi).
Funkcija switch
primerja posamezno vrednost z več drugimi in vrne niz, če najde par. Skladnja je v osnovi:
{{#switch: <primerjalna vrednost> | <vrednost1> = <rezultat1> | <vrednost2> = <rezultat2> | ... | <vrednostn> = <rezultatn> | <prednastavljeni rezultat> }}
switch
išče po danih vrednostih, dokler ne najde para s primerjalno vrednostjo. Ko ga najde, vrne rezultat za to vrednost (besedilni niz po enačaju). Kadar ne najde nobenega para, vendar pa zadnji predmet vsebuje enačaj, vrne kot privzeto vrednost slednjega. Kadar rezultat mora vsebovati enačaj, lahko uporabite #default
:
{{#switch: <primerjalna vrednost> | <vrednost> = <rezultat> | #default = <prednastavljeni rezultat> }}
Mogoče je oblikovati tudi izpuščene vrednosti (kar zmanjša potrebo po podvajanju rezultatov). Zgled:
{{#switch: <primerjalna vrednost> | <vrednost1> | <vrednost2> | <vrednost3> = <rezultat1, 2, 3> | ... | <vrednostn> = <rezultatn> | <prednastavljeni rezultat> }}
Vrednost1 in vrednost2 ne vsebujeta enačaja. Če se ujemata, dobita rezultat za vrednost3 (t.j., kar koli je v rezultat3).
Primerjava nizov razlikuje velikost črk:
Tega ne smemo zamenjevati s tem, da imena funkcij razčlenjevalnika delujejo pri kakršnih koli črkah:
Da bi bil stavek #switch neodvisen od velikost črk, lahko dosežemo s konstruktom {{lc:}} ali {{uc:}}
To se navadno uporablja v predlogah, ko želimo neodvisnost od velikosti črk pri vrednostih parametrov.:
{{#switch: {{lc: {{{1| B }}} }} | a | b | c = '''''abc''' ali '''ABC''''' | A | B | C = ''Okvara spomina zaradi kozmičnega sevanja'' | #default = N/A }}
vrne abc ali ABC
Namesto #ifeq lahko uporabimo tudi #switch:
Funkcija {{#time:}} je funkcija za oblikovanje časa in datuma (samo za datume od 1970 naprej!). Njena skladnja je bodisi
{{ #time: format }} {{ #time: format | čas }}
Kadar čas ni določen, se uporabi čas, ob katerem je bil članek pretvorjen v HTML-kodo. Ta čas se lahko zaradi strežniške predpomnjenja za teden dni razlikuje od časa, ko je bil članek prikazan, zato so lahko potrebne ročne posodobitve. To dosežemo s shranjenjem strani, ne da bi napravili kakršno koli spremembo (ničelno urejanje), s prikazom strani z vpisanim nizom action=purge
v iskalnem nizu spletnega naslova (URL) ali tako, da si stran ogledamo pri izklopljenem predpomnjenju strani v uporabniških nastavitvah (MediaWiki).
Parameter oblika je niz oblike, podoben tistemu, kot ga uporablja PHP-jev datum.
Naslednje kode za oblike imajo enako vrednost kot v PHP. Pomembno razlikovanje od delovanja PHP, razen glede internacionalizacije (t.j. jezikovne in krajevne prilagoditve), je napaka razčlenjevalnika kode in o njej obvestite razvijalce programja. Vse numerične kode za obliko vrnejo števila, oblikovana v skladu s krajevnim jezikom. To lahko povozite s kodo xn, kot je opisano spodaj.
Koda | Opis | Zgled izložka | Trenutni izložek |
---|---|---|---|
Leto: | |||
Y | Leto s štirimi števkami. | npr. 2006 | 2024 |
y | Leto z dvema števkama. | od 00 do 99, npr. 06 za leto 2006. | 24 |
Mesec: | |||
n | Številka meseca, brez uvodne ničle. | od 1 do 12 | 6 |
m | Ime meseca, z uvodno ničlo. | od 01 do 12 | 06 |
M | Okrajšava za ime meseca. Pogosto krajevno prilagojeno. | od jan do dec | jun. |
F | Popolno ime meseca. Pogosto krajevno prilagojeno. | januar | junij |
Teden: | |||
W | Številka tedna po standardu ISO 8601 (ISO-leta imajo popolne tedne od ponedeljka do nedelje; prvi teden v letu po ISO vedno vsebuje 4. januar ali prvi četrtek navadnega leta), z ničlo. | od 01 do 52 ali 53 (odvisno od leta) | 25 |
Dan: | |||
j | dan v mesecu, brez uvodne ničle. | 1 to 31 | 19 |
d | dan v mesecu, z uvodno ničlo. | od 01 do 31 | 19 |
z | dan v letu (z začetkom pri 0) | od 0 do 364 oz. 365 na prestopno leto | 170 |
D | Okrajšava za dan v tednu. Redko krajevno prilagojeno. | od pon (Mon) do ned (Sun) | sre. |
l | Popolno ime dneva v tednu. Redko krajevno prilagojeno. | od ponedeljka (Monday) do nedelje (Sunday) | sreda |
N | Dan v tednu po ISO 8601 (teden po ISO 8601). | od 1 (za ponedeljek) do 7 (za nedeljo) | 3 |
w | številka dneva v tednu (ameriški teden). | od 0 (za nedeljo, Sunday) do 6 (za soboto, Saturday) | 3 |
Ura: | |||
a | am (med 01:00:00 in 12:59:59 na isti dan) ali pm, z malimi črkami (uporaba pri 12-urni obliki). | am ali pm | pm |
A | Enako kot pri zgornji kodi a, le z velikimi črkami. | AM ali PM | PM |
g | 12-urna oblika ure brez uvodnih ničel (ena ali dve števki, za uporabo skupaj z am/pm ali AM/PM). | od 1 do 12 | 6 |
h | 12-urna oblika ure, z uvodno ničlo (dve števki, za uporabo skupaj z am/pm ali AM/PM). | od 01 do 12 | 06 |
G | 24-urna oblika ure, brez uvodne ničle (ena ali dve števki) | od 0 do 23 | 18 |
H | 24-urna oblika ure, z uvodno ničlo (dve števki). | od 00 do 23 | 18 |
Minute in sekunde: | |||
i | Minuta z uvodno ničlo (dve števki). | od 00 do 59 | 58 |
s | Sekunda z uvodno ničlo (dve števki). | od 00 do 59 | 19 |
U | Sekunde od 1. januarja 1970 00:00:00 GMT naprej. | od 0 do neskončno | 1718823499 |
Drugo: | |||
L | Ali gre za prestopno leto. | 1, kadar gre za prestopno leto, sicer 0. | 1 |
t | Število dni v mesecu. | od 28 do 31 | 30 |
c | V skladu z ISO 8601 oblikovan datum, enako kot {{#time:Y-m-dTH:i:s{{#time:+H:i|+0 ur}}}}. | stalna dolžina niza | 2024-06-19T18:58:19+00:00 |
r | V skladu z RFC 2822 oblikovan datum, enako kot {{#time:D, j M Y H:i:s {{#time:+H:i|+0 ur}}}}. | spremenljiva dolžina niza | Wed, 19 Jun 2024 18:58:19 +0000 |
Naslednje kode za obliko so razširitve skladnje PHP:
Koda | Opis |
---|---|
xn | Oblikuje naslednjo numerično kodo kot surovo ASCII-število. Zgled: v hindiju {{ #time: H, xnH }} vrne ०६, 06. |
xN | Trajno oblikuje naslednjo numerično kodo kot surovo ASCII-število. Tako kot xn, razen da traja do konca niza oz. do ponovitve iste kode. |
xr | Oblikuje naslednjo numerično kodo kot rimsko številko. Deluje le za števila do 3000. |
xg | Vrne ime meseca v rodilniku. Namenjeno jezikom, kjer obstaja za taka imena razlika med rodilnikom in imenovalnikom. |
xx | Dobesedni x |
Kateri koli neprepoznani znak bo vrnjen nespremenjen. Za pridobitev dobesednih znakov lahko uporabite tudi dva dogovora o navajanju.
V prihodnosti bo glede na potrebe uporabnikov razširitve morda dodanih še več kod za obliko. To lahko pomeni bolj popolno uvedbo kod PHP za obliko ali dodatne kode x.
Oblika parametra čas je identična obliki, ki jo uporablja funkcija strtotime() v PHP. Podpira tako absolutne kot relativne datume, npr. "December 11" in / ali "+10 hours", kar lahko uporabimo na primer za prilagoditev časovnega pasu. Za več podatkov glej priročnik tar GNU.
V kombinaciji z uporabniško določenim oblikovanjem datumov:
Oba vrneta uporabniško določeno obliko. Kadar kateri izmed njiju ni bil določen kot preferenčni v nastavitvah, se med seboj razlikujeta.
Razpon pravilnega delovanja sega od 1. januarja 1970 00:00:01 do 19. januarja 2038 03:14:07, ali od 1 do sekund po začetku leta 1970 (glej Year 2038 problem). Za datume, ki so zunaj tega območja, lahko uporabimo predloge za računanje datumov.
Datumi pred 1901 vrnejo sporočilo o napaki, datumi med 1901 in 1970 pa celo (morda odvisno od strežnika) napačen rezultat (!):
#time:c|5 April 1967
}} vrne 1967-04-05T00:00:00+00:00#time:c|5 April 1867
}} vrne 1867-04-05T00:00:00+00:00#time:c|2007
}} vrne 2007-06-19T00:00:00+00:00 (ni leto, temveč čas: danes, 20:07)#time:c|1997
}} vrne 1997-06-19T00:00:00+00:00 (19:97 ni veljaven čas, zato se tolmači kot leto, vrne trenutni datum in čas v tem letu)#time:c|1967
}} vrne 1967-06-19T00:00:00+00:00 (19:67 ni veljaven čas, zato se tolmači kot leto; vrne datum zunaj razpona, ki se spremeni na začetek veljavnega razpona)#time:c|April 2007
}} vrne 2007-04-01T00:00:00+00:00 (začetek meseca)#time:c|5 April
}} vrne 2024-04-05T00:00:00+00:00 (določeni datum tekočega leta)Posebno pozorni moramo biti pri 29. februarju, saj se {{#time:j|February 29}} spreminja z letom. Zgled:
{{#rel2abs:}} pretvori relativno pot v absolutno pot.
{{ #rel2abs: pot }} {{ #rel2abs: pot | pot do osnove }}
Relativna pot je pot, ki se začne z '/', './' ali '../', vsebuje '/../' ali '/.' ali pa gre preprosto za niz '..' ali '.'. Č je podana pot do osnove, mora biti izražena z absolutno skladnjo.
Zgled:
Pri tem ni preverjanja, ali pot obstaja. To lahko dosežemo v kombinaciji s funkcijo {{#ifexist:}}:
Tako kot druge funkcije za razčlenjevanje tudi to razširitev na predvidljiv način zadeva hrošč 5678. Povzetek: nedefinirane parametre lahko prepišejo ustrezajoči parametri; podrobnosti so opisane na straneh m:Help:ParserFunctions/5678 in pomoč za substitucijo. Substitucija je edini primer, kjer je to bistvenega pomena. Na definirane parametre to ne vpliva.
Uporaba subst: je pri funkcijah razčlenjevalnika mogoča, če le med subst: in # ni presledka. Za podrobnosti glej m:Help:Substitution. Vedite, da razen ob uporabi tehnike, kot je neobvezna substitucija, substitucija predloge s funkcijami razčlenjevalnika teh funkcij ne zamenja z njihovim rezultatom. To je pogosto neželeno.
Glej tudi predhodni razdelek.
V pogojnih konstruktih wikiskladnja z navpičnicami trenutno še ne deluje. Pomagate si lahko z dvema obhodnima potema:
Sicer pa sta bila | in = v predlogah vedno težavna za uporabo.
Kadar odpove vse drugo, poskusite v svojih LocalSettings.php
nastaviti $wgUseTidy=true;
.
Ker pogojniki ob navpičnicah (in pri poimenovanih, ne pa tudi nepoimenovanih parametrih predloge) odstranijo uvodne in zaključne bele znake, ni takoj jasno, kako pogojno vstaviti beli znak ali zaporedje belih znakov. Kadar želimo vstaviti le presledke, lahko uporabimo HTML-kodo  
, ki vstavi " ".
Kadar želimo vstaviti nove vrstice ali drugačne bele znake, lahko med navpičnico in bele znake vstavimo nenatisljive bele znake:
prvi odstavek. {{#if:{{{paragraph}}}|<nowiki /> drugi odstavek.}}
prvi odstavek.
drugi odstavek.
v primeru pogojniških funkcij razčlenjevanja (if, ifeq, ifexist, ifexpr, switch), se wikibesedilo vsakega primera (del potem, del sicer itd.), četudi je izložek odvisen od pogoja, notranje "izvede"/"obdela"/"razčleni" neodvisno od tega, ali je pogoj izpolnjen. To zadeva:
Morda si želimo zmanjšati obdelavo na dejansko uporabljeno wikibesedilo, zmanjšati predrazširitveno vključitveno velikost, se izogniti nerazložljivim predmetom na seznamu povezav in vključitev in v seznamu želenih strani in se izogniti neželeni kaskadi zaščite. To lahko dosežemo tako, da z uporabo funkcije #ifexpr ipd. izberemo predlogo ali cilj povezave in celotno razčlenjevalno funkcijo razčlenjevanja postavimo v oklepaje, npr. {{ {{#ifexpr:..|a|b}} | parametri }} namesto {{ #ifexpr:.. | {{a|parametri}} | {{b |parametri}} }}. Kadar sicer-dela ni, lahko uporabimo slepo predlogo, npr. m:Template:x0 (pogovor, povezave, uredi):{{ {{#ifexpr:..|a|x0}} | parametri }} namesto {{ #ifexpr:.. | {{a|parameters}} }}. Kadar parametra nizov a in b nista enaka, lahko funkcijo razčlenjevanja razdelimo v funkcijo za del potem in funkcijo z nasprotnim pogojem za del sicer (ali isti pogoj in le del sicer): {{ {{#ifexpr:..|a|x0}} | parametri niza a }}{{ {{#ifexpr:..|x0|b}} | parametri niza b }} namesto {{ #ifexpr:.. | {{a|parametri niza a}} | {{b |parametri niza b}} }}.
Podobno lahko v primeru povezav namesto {{ #ifexpr:.. | [[a]] | [[b]] }} uporabimo [[ {{#ifexpr:..|a|b}} ]]. Kadar dela sicer ni, lahko namesto {{ #ifexpr:.. | [[a]] }} uporabimo {{#ifexpr:..|[[ {{#ifexpr:..|a}} ]] }}. V tem primeru moramo pogoj podvojiti: zaradi notranje kopije pogoja dobimo bodisi "[[a]]" ali "[[]]"; v prvem primeru se v tabelo povezav na stran doda povezava, v drugem v tabeli povezav povezave ni. Z zunanjo kopijo pogoja se izognemo prikazu "[[]]" pri neizpolnjenem pogoju.
V primeru gnezdenih pogojnih funkcij razčlenjevanja moramo za vsako povezavo skopirati celotno gnezdenje pogojniških razčlenjevalnih funcij v oglate oklepaje povezave. Podobno lahko to storimo z zavitimi oklepaji predloge. Kadar dobimo "{{}}", to v tabelo povezav na predlogo ne umesti nobenega predmeta in se zaradi pogojniških razčlenjevalnih funkcij, ki niz obdajajo, ne prikaže.
V novo mapo ParserFunctions v svoji mapi z razširitvami prenesite naslednje datoteke.
Če nimate php5, uporabite naslednje datoteke (starejša redakcija):
Nato na konec svojega mw:Manual:LocalSettings.php dodajte:
require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
Če se prikaže sporočilo o napaki, npr. "Warning: require_once(/extensions/ParserFunctions/ParserFunctions.php) [function.require-once]: failed to open stream:", vrstico zamenjajte z:
require_once( 'extensions/ParserFunctions/ParserFunctions.php' );
Brskanje po drevesu kode:
V 1.8 in nadaljnjih različicah delujejo vse funkcije razčlenjevalnika. Podprte so tudi krajevno prilagojene oblike.
V 1.7 delujejo vse funkcije razčlenjevalnika, vendar pa samo v angleščini. Hkratna uporaba razširitve m:Cite lahko povzroči težave; gl. .
Ob vključitvi funkcij razčlenjevalnika kode 1.6 se lahko prikažejo nekatera opozorila. Težavo popravite tako, da v ParserFunctions.php odstranite naslednjo vrstico (vrstica 10):
$wgHooks['LanguageGetMagic'][] = 'wfParserFunctionsLanguageGetMagic';
Za delovanje funkcij #time, morate v mapo extensions/ParserFunctions naložiti tudi SprintfDateCompat.php. Vendar težava ne bo resnično rešena.
Večina funkcij razčlenjevalnika kode (razen #if) deluje enako dobro tudi v MediaWiki 1.6, vendar pa je njihova skladnja brez znaka '#'. Če želite uporabiti znak '#', poiščite naslednji odsek razširitve ParserFunctions.php:
$wgParser->setFunctionHook( 'expr', array( &$wgExtParserFunctions, 'expr' ) ); $wgParser->setFunctionHook( 'if', array( &$wgExtParserFunctions, 'ifHook' ) ); $wgParser->setFunctionHook( 'ifeq', array( &$wgExtParserFunctions, 'ifeq' ) ); $wgParser->setFunctionHook( 'ifexpr', array( &$wgExtParserFunctions, 'ifexpr' ) ); $wgParser->setFunctionHook( 'switch', array( &$wgExtParserFunctions, 'switchHook' ) ); $wgParser->setFunctionHook( 'ifexist', array( &$wgExtParserFunctions, 'ifexist' ) );
Zamenjajte ga z:
$wgParser->setFunctionHook( '#expr', array( &$wgExtParserFunctions, 'expr' ) ); $wgParser->setFunctionHook( '#if', array( &$wgExtParserFunctions, 'ifHook' ) ); $wgParser->setFunctionHook( '#ifeq', array( &$wgExtParserFunctions, 'ifeq' ) ); $wgParser->setFunctionHook( '#ifexpr', array( &$wgExtParserFunctions, 'ifexpr' ) ); $wgParser->setFunctionHook( '#switch', array( &$wgExtParserFunctions, 'switchHook' ) ); $wgParser->setFunctionHook( '#ifexist', array( &$wgExtParserFunctions, 'ifexist' ) );
Preprosto nadomestilo za #if -
function ifHook( &$parser, $test = '', $then = '', $else = '' ) { if ($test !== '') {
v vrstici 57 zamenjajte z:
function ifHook( &$parser, $test = '', $then = '', $else = '' ) { if ( (string)$test !== '' ){
Vendar pa pri PHP 4.3.9 zgornji popravek domnevno ne deluje.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.