Podstawienie szablonu (ang. template substitution, także substytucja szablonu) jest alternatywną metodą wstawiania treści zawartych w szablonie. Informacje osadzone w ten sposób są niezależne od przyszłych zmian w samym szablonie. Substytucję wykonuje się poprzez dodanie kodu subst: pomiędzy nawiasami klamrowymi a nazwą szablonu, np. w ten sposób:

{{subst:Dalsze wsparcie}}

Jak podstawiać?

Normalnie, kiedy dodamy szablon na stronę poprzez {{Dalsze wsparcie}} i zapiszemy stronę, na stronie wyświetli się zawsze najnowsza treść szablonu. Ponadto po ponownym wejściu w kod źródłowy artykułu, nadal będzie widoczny ten sam kod {{Dalsze wsparcie}} zamiast pełnej treści szablonu.

Szablon, który nie został podstawiony, w edytorze

Szablon, który nie został podstawiony, w edytorze

Jeśli jednak podstawimy szablon, kod {{subst:Dalsze wsparcie}} zostanie zastąpiony pełną zawartością szablonu w momencie zapisania strony. Po zapisaniu i ponownym edytowaniu strony nie zobaczymy już {{subst:szablon}} w kodzie:

Ten sam szablon po zastąpieniu

Ten sam szablon po zastąpieniu

Uwagi

  • Zamiast korzystać z podstawiania, możesz również skorzystać z funkcji podglądu w edytorze kodu źródłowego.
  • Substytucja nie pozostawia śladu, że treść pochodziła z szablonu. Jeśli chcesz poinformować o tym przyszłych edytorów, możesz dodać komentarz HTML, np. <!--Szablon:Foo-->.
  • MediaWiki pozwala również na podstawienie magicznych słów, np. {{PAGENAME}}.
  • Choć możliwa jest substytucja funkcji parsera, następuje ona przed transkluzją.
    • Oznacza to, że jeśli szablon {{Kontakt}} zwraca pusty ciąg znaków, to zapis {{subst:#if:{{Hotkey}}|tak|nie}} da wynik „tak”, ponieważ transkluzja jeszcze się nie wykonała i ciąg {{Kontakt}} jest niepusty.
    • Jeśli oczekujemy wyniku „nie”, należy użyć kodu {{subst:#if:{{subst:Kontakt}}|tak|nie}}. Wewnętrzna substytucja wykona się wtedy jako pierwsza przed transkluzją.
  • W zależności od zastosowania, substytucja szablonów wywołujących inne szablony może wymagać substytucji rekurencyjnej. Zobacz stronę dot. substytucji rekurencyjnej na Wikipedii (ang.).

Dlaczego warto podstawiać szablony?

Większość szablonów nie powinna być podstawiana, ponieważ utrudnia to ich późniejszą edycję. Istnieją jednak sytuacje, w których substytucja jest przydatna.

Jednym z takich przypadków są szablony służące wyłącznie do formatowania lub szybkiego wstawiania linków. Przykładowo, jeśli istnieje szablon ułatwiający wstawianie pełnych linków do stron o grach, warto go podstawić, by niepotrzebnie nie zwiększać liczby szablonów na stronie.

Czasem kod szablonu jest od początku projektowany tak, aby po wstawieniu mógł być ręcznie edytowany — przykładem mogą być szablony nowych stron ze Starter Wiki. W takich przypadkach najlepiej jest zastosować substytucję i od razu edytować stronę.

W przypadku wiadomości na stronach dyskusji lepiej zachować kod szablonu w wersji użytej w danym momencie. Dotyczy to np. szablonów powitalnych czy podpisów. Dzięki substytucji zawartość dyskusji nie zmieni się w przyszłości, co może dla niektórych "powitanych" już osób wydać się dziwne. W dodatku, podstawiając szablon możesz dać lepsze wrażenie, rzeczywisty kod może wydawać się bardziej "ludzki" niż tekst {{powitanie}}.

Dodatkowo podstawianie szablonów może ułatwić aktualizację szablonu na wielu stronach. W takiej sytuacji wystarczy w miejsce szablonu wstawić trakskluzję nowej wersji, przypisać stare parametry ich odpowiednikom, a następnie zastosować substytucję na wszystkich stronach, które go zawierały. Podobnie można użyć substytucji do usuwania szablonu, czyszcząc całkowicie jego zawartość.

Zobacz też

Dalsze wsparcie

Szukasz dalszego wsparcia lub masz pytanie? Sprawdź poniższe linki, aby dowiedzieć się więcej.