Pomoc:Funkcje parsera
Funkcje parsera są małymi rozszerzeniami mechanizmu MediaWiki, dającymi różne wyniki przy zastosowaniu różnych argumentów. Najlepsze użycie znajdują w skomplikowanych szablonach.
Funkcje[edytuj • edytuj kod]
if[edytuj • edytuj kod]
Funkcja, która może wyświetlać różne wyniki w zależności od tego, czy podany parametr jest pusty lub nie.
Funkcja if zazwyczaj przyjmuje postać:
{{#if:{{{parametr|}}}|Parametr nie jest pusty.|Parametr jest pusty.}}
Oznacza to: jeśli parametr nie jest pusty, wtedy wyświetl "Parametr nie jest pusty.", a jeśli jest pusty, wtedy wyświetl "Parametr jest pusty." Przykładowo: załóżmy, że szablon o treści podanej wyżej znajduje się pod nazwą Szablon:parametr. Jeśli użyjemy szablonu w ten sposób:
{{parametr|parametr=blablabla}}
wtedy powinien zostać wyświetlony tekst: "Parametr nie jest pusty." Jeśli użyjemy go w ten sposób:
{{parametr|blablabla}}
lub na przykład tak:
{{parametr}}
zostanie wyświetlony tekst: "Parametr jest pusty."
ifeq[edytuj • edytuj kod]
Funkcja, która porównuje ze sobą dwie wartości i wyświetla wynik.
Funkcja ifeq zazwyczaj przyjmuje postać:
{{#ifeq:{{{kochanie}}}|tak|Kocham żelki!|Nie lubię żelek.}}
Oznacza to: jeśli kochanie jest równe tak, wtedy wyświetl tekst "Kocham żelki!"; jeśli kochanie jest różne od tak, wtedy wyświetl tekst "Nie lubię żelek." Załóżmy, że szablon o powyższej treści znajduje się pod nazwą Szablon:żelki. Jeśli użyjemy szablonu w ten sposób:
{{żelki|kochanie=tak}}
wtedy wyświetli się tekst "Kocham żelki!" Jeśli szablon będzie użyty w sposób
{{żelki|kochanie=nie}}
lub w jakikolwiek inny sposób, na przykład
{{żelki}}
zostanie wyświetlony tekst: "Nie lubię żelek."
ifexist[edytuj • edytuj kod]
Funkcja ifexist sprawdza, czy artykuł o podanej nazwie istnieje i wyświetla wynik. Zazwyczaj przyjmuje postać:
{{#ifexist:kot|Artykuł [[kot]] istnieje.|Artykuł [[kot]] nie istnieje.}}
Oznacza to: jeśli artykuł "kot" istnieje, wtedy wyświetl: "Artykuł kot istnieje." Jeśli nie istnieje wtedy wyświetl: "Artykuł kot nie istnieje." (artykuł kot w tym wypadku istnieje). Funkcja może mieć również nieco bardziej skomplikowaną postać:
{{#ifexist:{{{1}}}|Artykuł [[{{{1}}}]] istnieje.|Artykuł [[{{{1}}}]] nie istnieje.}}
Załóżmy, że szablon o powyższej treści znajduje się pod nazwą Szablon:istnieje. Jeśli użyjemy go w ten sposób:
{{istnieje|kot}}
wtedy sprawdzi, czy artykuł kot istnieje i w zależności od tego wyświetli wynik.
switch[edytuj • edytuj kod]
Funkcja porównuje jedną wartość z innymi i jeśli znajdzie taką samą wartość wyświetla wynik. W innym wypadku wyświetla wartość domyślną (jeżeli takowa została podana). Przykład:
{{#switch:{{{miesiąc}}} |1=styczeń |2=luty |3=marzec |4=kwiecień |5=maj |6=czerwiec |7=lipiec |8=sierpień |9=wrzesień |10=październik |11=listopad |12=grudzień |nie podano miesiąca }}
Przyjmijmy, że szablon o powyższej treści znajduje się pod nazwą Szablon:miesiąc. Jeśli zostanie użyty w ten sposób:
{{miesiąc|miesiąc=1}}
wtedy funkcja wyświetli "styczeń". W przypadku
{{miesiąc}}
zostanie wyświetlony tekst "nie podano miesiąca".
expr[edytuj • edytuj kod]
Funkcja oblicza wyrażenia matematyczne. Na przykład
{{#expr:1+1}}
da w wyniku "2".
Tabela używanych operatorów[edytuj • edytuj kod]
Operator | Operacja matematyczna | Przykład |
---|---|---|
+ | Dodawanie | {{#expr: 30 + 7}} = 37 |
– | Odejmowanie | {{#expr: 30 - 7}} = 23 |
* | Mnożenie | {{#expr: 30 * 7}} = 210 |
/ lub div | Dzielenie | {{#expr: 30 / 7}} = 4.2857142857143 |
round | Zaokrąglanie do pewnej liczby miejsc po przecinku, podawanej za tym operatorem | {{#expr: 30 / 7 round 5}} = 4.28571 |
mod | Dzielenie modulo (reszta z dzielenia) | {{#expr: 30 mod 7}} = 2 |
Operatory logiczne ("1" – prawda, "0" – fałsz) | ||
= | Równa się | {{#expr: 30 = 7}} = 0 |
<> lub != | Nie równa się (jest większe lub mniejsze) | {{#expr: 30 <> 7}} = 1 |
< | Mniejsze niż | {{#expr: 30 < 7}} = 0 |
> | Większe niż | {{#expr: 30 > 7}} = 1 |
<= | Mniejsze lub równe | {{#expr: 30 <= 7}} = 0 |
>= | Większe lub równe | {{#expr: 30 >= 7}} = 1 |
and | Logiczne i | {{#expr: 30 and 7}} = 1 |
or | Logiczne lub | {{#expr: 30 or 7}} = 1 |
not | Logiczne nie | {{#expr: not 7}} = 0 |
Specjalne | ||
( ) | Grupowanie | {{#expr: (30 + 7) * 5 }} = 185 |
UWAGA! Łącznikiem dziesiętnym liczb jest "." kropka (półtora=1.5).
ifexpr[edytuj • edytuj kod]
Funkcja wykonuje wyrażenie matematyczne i wyświetla tekst, który jest zależny od wyniku. Przykład:
{{#ifexpr:1+1|1+1 nie jest równe 0.|1+1 równa się 0.}}
Oznacza to: jeśli wynik podanego działania (w tym wypadku 1+1) jest równy 0, wtedy funkcja wyświetli "1+1 równa się 0.", a jeśli wynik nie jest równy zeru, wtedy zostanie wyświetlony tekst "1+1 nie jest równe 0." Funkcja obsługuje te same operatory co expr.
time zwraca czas w żądanym formacie – także dla daty podanej w opcjonalnym drugim parametrze, bądź w wersji względnej (np. +1 month).
time[edytuj • edytuj kod]
Funkcja zwraca czas w żądanym formacie – także dla daty podanej w opcjonalnym drugim parametrze, bądź w wersji względnej (np. +1 month).
{{#time:format|określenie czasu(opcjonalne)}}
Składnia formatu została zapożyczona ze składni PHP. Została jednak ona rozszerzona o dodatkowe kody podane poniżej.
Kod | Opis |
---|---|
xg | Wyświetla nazwę miesiąca w dopełniaczu (np. "września"). |
xn | Następujący po tej sekwencji znaków kod formatu (na przykład godziny 'H') zostanie wyświetlony jako kod ASCII. Dla przykładu w języku Hindi, {{#time:H, xnH}} da w wyniku ०६, 06. |
xr | Następujący po tej sekwencji znaków kod formatu (na przykład godziny 'H') zostanie wyświetlony jako liczba rzymska; przykład {{#time:H, xrH}} da w wyniku 22, XXII |
xx | Wyświetla znak 'x' |
Poniżej lista kodów znakowych zapożyczonych ze składni PHP.
Kod | Opis | Przykład lub zakres | Obecne ustawienie |
---|---|---|---|
Y | Rok | 2005
|
2024 |
y | Rok w formacie dwucyfrowym (dwie ostatnie cyfry roku) | od 00 do 99 (05 dla roku 2005)
|
24 |
n | Numer bieżącego miesiąca | od 1 do 12 (9 dla września)
|
11 |
m | Numer bieżącego miesiąca, dwucyfrowy | od 01 do 12 (09 dla września)
|
11 |
L | Sprawdza, czy rok jest przestępny | od 1 jeśli tak, 0 jeśli nie.
|
1 |
M | Skrótowa nazwa miesiąca | od sty do gru (lis dla listopada)
|
lis |
F | Pełna nazwa miesiąca | styczeń do grudzień
|
listopad |
t | Liczba dni w miesiącu | od 28 do 31 (30 dla listopada)
|
30 |
j | Dzień miesiąca | od 1 do 31
|
20 |
d | Dzień miesiąca, liczba dwucyfrowa | od 01 do 31
|
20 |
z | Dzień roku (od liczby 0) | od 0 do 364 (365 w roku przestępnym – 1 dla 2 stycznia)
|
324 |
D | Skrótowa nazwa dnia tygodnia | od Pon do Nie
|
Śr |
l | Pełna nazwa dnia tygodnia | od Poniedziałek do Niedziela
|
środa |
w | Numer dnia tygodnia (według amerykańskiego kalendarza). | od 0 (Niedziela) do 6 (Sobota)
|
3 |
N | Numer dnia tygodnia | od 1 (Poniedziałek) do 7 (Niedziela)
|
3 |
W | Numer tygodnia | od 1 do 52 (lub 53 – zależy od roku)
|
47 |
a | "am" (między 01:00:00 a 12:59:59 tego samego dnia) lub "pm", małymi literami (wykorzystowane w formacie 12-godzinnym). | am / pm
|
pm |
A | Tak samo, jak a ale dużymi literami
|
AM / PM
|
PM |
g | 12-godzinny format godziny bez poprzedzającego ew. zera (jedna lub dwie cyfry, używane z am/pm lub AM/PM). | od 1 do 12
|
10 |
h | 12-godzinny format godziny, z poprzedzającym ew. zerem (dwie cyfry, używane z am/pm lub AM/PM). | od 01 do 12
|
10 |
G | 24-godzinny format godziny bez poprzedzającego ew. zera (jedna lub dwie cyfry). | od 0 do 23
|
22 |
H | 24-godzinny format godziny, z poprzedzającym ew. zerem (dwie cyfry). | od 00 do 23
|
22 |
i | Minuta, z poprzedzającym ew. zerem (dwie cyfry). | od 00 do 59
|
48 |
s | Sekunda, z poprzedzającym ew. zerem (dwie cyfry). | od 00 do 59
|
49 |
U | Sekundy, które upłynęły od 1 stycznia 1970 00:00:00 czasu GMT. | od 0 do nieskończoności
|
1732142929 |
c | Data w formacie ISO 8601, taka jak {{#time:Y-m-dTH:m:s{{#time:+H:m|+0 hours}}}} . | ustawiona sztywna długość stringa (łańcucha) | 2024-11-20T22:48:49+00:00 |
r | Data w formacie RFC 2822, taka jak {{#time:D, j M Y H:m:s {{#time:+H:m|+0 hours}}}}. | zmienna długość stringa (łańcucha) | Wed, 20 Nov 2024 22:48:49 +0000 |
Zobacz też[edytuj • edytuj kod]
- Więcej o funkcjach parsera na polskiej Wikipedii
- Dokumentacja podstawowych funkcji parsera (ang.)
- Dokumentacja funkcji parsera rozszerzenia ParserFunctions (ang.)
- Dokumentacja dodatkowych funkcji do operacji na ciągach znaków (ang.)
Ta strona zawiera treści z Wikipedii. Oryginalny artykuł był umieszczony pod nazwą Wikipedia:Funkcje parsera. Lista autorów jest dostępna w historii strony. Tekst z Wikipedii jest udostępniony na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach.