- Rozszerzenie jest domyślnie włączone na Fandomie.
Funkcja parsera to specjalna forma wikitekstu MediaWiki, pozwalająca rozszerzyć funkcje szablonów. Odpowiednio napisane funkcje parsera, połączone z parametrami szablonu, mogą dawać odmienne wyniki zależnie od kontekstu.
Sposobów użycia funkcji parsera jest znacznie więcej, niż można opisać na jednej stronie — poniżej znajdziesz jednak solidne wprowadzenie.
Podstawy
„Parsowanie” oznacza po prostu analizowanie instrukcji, dzielenie jej na sensowne fragmenty i wykonywanie działań na ich podstawie.
Przykład:
- Jeśli nazwa tej strony to „Pomoc:FandomDesktop”, to dodaj „Jesteś na stronie pomocy FandomDesktop”.
Tak właśnie działają funkcje parsera — wykonują coś, jeśli spełniony jest określony warunek.
Używanie funkcji parsera
- Uwaga: Poniższy opis zakłada korzystanie z edytora kodu źródłowego. Da się to robić w VisualEditorze, ale jest to dużo mniej wygodne.
Funkcje parsera zapisuje się podobnie jak szablony – za pomocą podwójnych nawiasów klamrowych ({{ }}). Większość z nich rozpoczyna się znakiem krzyżyka #, aby łatwo je odróżnić.
Wracając do wcześniejszego przykładu — odpowiedni kod wygląda tak:
{{#ifeq: {{FULLPAGENAME}} | Pomoc:FandomDesktop
| Jesteś na stronie pomocy FandomDesktop.
}}
To może wyglądać skomplikowanie, więc oto jak to działa Krok po kroku:
- Funkcja parsera
#ifeq:oznacza „jeśli równe”. - Pierwszy argument to Magiczne słowo zwracający pełną nazwę strony (przestrzeń nazw + nazwa).
- Drugi argument — „Pomoc:FandomDesktop” — to wartość, do której przyrównujemy pełną nazwę strony.
- Trzeci argument to tekst wyświetlany, jeśli pełna nazwa strony jest równa podanej wartości.
Można to czytać tak:
- Jeśli „pełna nazwa strony” równa się „Pomoc:FandomDesktop”, wyświetl „Jesteś na stronie pomocy FandomDesktop.”
I to cała idea — właśnie zrozumiałeś/-aś, jak działają funkcje parsera!
Dodatkowe przykłady
Szablon sprawdzający, czy postać jest dorosła
Załóżmy, że piszesz infoboks dla postaci z programu telewizyjnego. Chcesz podać jej wiek i określić czy jest pełnoletnia, czy nie.
Możesz w tym celu użyć funkcji #ifexpr:
{{#ifexpr: {{{wiek|}}} >= 18
| Ta postać jest pełnoletnia.
| Ta postać '''nie''' jest pełnoletnia.
}}
W skrócie: „Jeśli wiek= jest większy (bądź równy) niż 18, postać jest dorosła. W przeciwnym razie — nie.”
Krok po kroku:
{{#ifexpr: {{{wiek|}}} > 18- Jeśli parametr „wiek” jest większy niż 18…
| Ta postać jest pełnoletnia.- …wyświetl „Ta postać jest pełnoletnia.”.
| Ta postać '''nie''' jest pełnoletnia.- …w przeciwnym razie wyświetl „Ta postać nie jest pełnoletnia.”.
}}- Zamknięcie funkcji parsera.
Czyli:
- Jeśli
wiek>= 18 → „Ta postać jest pełnoletnia.”. - Jeśli nie → „Ta postać nie jest pełnoletnia.”.
Ulepszona wersja szablonu Box
Jeśli pamiętasz szablon Box z innej strony pomocy, tworzył on prostą ramkę. Dzięki funkcjom parsera możemy go ulepszyć.
Edytuj „Template:Box” i zastąp kod następującym:
<div style="background-color: {{{kolor tła|#DDD2}}}; border: 1px solid #5556; padding: 2em; text-align: center; width: 10em;">
{{#if: {{{tytuł|}}}
| '''{{{tytuł|}}}'''
}}
{{{zawartość}}}
</div>
Wprowadziliśmy tutaj funkcję #if:, która sprawdza, czy parametr istnieje.[uwagi 1]
{{Box
|tytuł = Jakiś tytuł
|zawartość = Wyjaśnienie tytułu
}}
Jakiś tytuł Wyjaśnienie tytułu
{{Box
|zawartość = Wyjaśnienie tytułu
}}
Wyjaśnienie tytułu
Widzisz, że pogrubiony tytuł zniknął? Jeśli nie określisz parametru tytuł, w tytule nie pojawi się nic.
Gdyby usunąć funkcję parsera i zastosować:
<div style="background-color: {{{kolor tła|#DDD2}}}; border: 1px solid #5556; padding: 2em; text-align: center; width: 10em;">
'''{{{tytuł|}}}'''
{{{zawartość}}}
</div>
bez podania |title=, otrzymamy:
Wyjaśnienie tytułu
Wygląda to źle, prawda?[uwagi 2] Funkcje parsera pomagają uniknąć takich błędów.
Podsumowanie:
- Jeśli parametr {{{tytuł}}} istnieje, wyświetl tytuł pogrubiony.
Najczęstsze funkcje parsera
Funkcje parsera wbudowane w MediaWiki
MediaWiki zawiera wiele domyślnych funkcji parsera, których pełna lista znajduje się na MediaWiki.org, tutaj jednak omówimy te najbardziej przydatne i najczęściej używane.
{{fullurl:}}- Zwraca pełen adres URL podanej strony.
{{fullurl:Pomoc:Zawartość}}→ https://spolecznosc.fandom.com/wiki/Pomoc:Zawarto%C5%9B%C4%87
{{#language:}}- Konwertuje skrócony kod języka do jego pełnej nazwy (w tym języku).
{{#language:ja}}→ 日本語
{{lc:}}- Zmienia wszystkie znaki w ciagu na małe (w przeciwieństwie do
{{uc:}}). {{lc:LITERY}}→ litery
{{ns:}}- Pobiera numer przestrzeni nazw i zwraca nazwę tej przestrzeni.
{{ns:4}}→ Centrum Społeczności
{{plural:}}- Jeśli podane wyrażenie jest równe jeden, zwraca liczbę pojedynczą, jeśli jest równa 2 i więcej, zwraca liczbę mnogą.
{{plural:1|jest|są}}→ jest{{plural:2|jest|są}}→ są
Rozszerzenie ParserFunctions
- Rozszerzenie jest domyślnie włączone na Fandomie.
Rozszerzenie ParserFunctions opiera się na nieskomplikowanej logice, aby wzbogacić kod
ParserPunctions jest popularnym rozszerzeniem do oprogramowania MediaWiki, które uzupełnia powyższą listę o wiele innych przydatnych funkcji. Jest ono domyślnie włączone na każdej wiki w obrębie Fandomu.
ParserFunctions pozwala m. in. na używanie warunków, wyrażeń matematycznych czy opcji związanych z czasem. Najczęściej używane funkcje rozszerzenia ParserFunctions to:
#if:{{#if: wartość | jeśli niepusta | jeśli pusta }}{{#if: {{{1|true}}} | tak | nie}}= tak
#ifeq:{{#ifeq: a | b | równe | nierówne }}{{#ifeq: {{{broń|Siekiera}}} | Miecz | Jesteś gotowy(-a). | Potrzebujesz miecza!}}= Potrzebujesz miecza!
#ifexist:- Sprawdza, czy strona istnieje.
{{#ifexist: nazwa strony | jeśli istnieje | jeśli noe istnieje}}
#iferror:- Zwraca wynik, jeśli wyrażenie wygenerowało błąd.
{{#iferror: {{#time: qwerty}} | Błąd!}}= q1UTCMon, 29 Jun 2026 08:50:21 +00003026
#expr:- Wykonuje obliczenia.
{{#expr: 1/6 round 5 }}= 0.16667
#switch:- Warunkowe dopasowanie wielu opcji.
{{#switch: miecz | miecz = broń | siekiera = narzędzie | #default = przedmiot}}= broń
#time:- Formatowanie dat i czasu.
{{#time: g:i, j F Y (e) | 2000-01-10T02:00:30Z}}= 2:00, 10 January 2000 (UTC)
#titleparts:- Dzielenie tytułu strony na części.
{{#titleparts: Strona główna/Górna część/Wideo | 1 | 2}}= Górna część
Aby wyświetlić pełną listę tych funkcji i przydatną dokumentację na ich temat, odwiedź oficjalną stronę pomocy rozszerzenia.
Inne rozszerzenia
Istnieje kilka innych popularnych rozszerzeń dodających swoje funkcje parsera. Oto kilka z nich:
- Arrays – dodaje {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}.
- Variables – dodaje {{#var}}, {{#vardefine}}, {{#vardefineecho}}.
- Loops – dodaje {{#while}}, {{#dowhile}}, {{#loop}}.
Więc jeśli znajdziesz interesujące cię rozszerzenie zawierające funkcje parsera, sprawdź dedykowaną mu stronę pomocy na MediaWiki.org.
Jakie funkcje parsera są tutaj dostępne?
Ponieważ różne wiki mogą mieć różne funkcje parsera, warto dokładnie sprawdzić, co znajduje się w konkretnej wiki. Pełną listę można znaleźć w sekcji Special:Version swojej wiki.
Zobacz też
- Informacje o magicznych słowach, powiązanej funkcji MediaWiki
- Informacje o wszystkich rozszerzeniach dostępnych na Fandomie
Dalsze wsparcie
Szukasz dalszego wsparcia lub masz pytanie? Sprawdź poniższe linki, aby dowiedzieć się więcej.
- Dowiedz się więcej, sprawdzając inne strony pomocy.
- Uzyskaj pomoc od innych użytkowników Fandomu w Dyskusjach na Centrum Społeczności.
- Skontaktuj się ze wsparciem Fandomu poprzez formularz kontaktowy.