Centrum Społeczności

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.

Non subst template

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:

Subst template

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.