Help: Pomoc:Szablony

Edytuj
Komentarze              Archiwum wersji (wszystkie edycje)

Skopiowano ze stron roboczych projektu Wolne Podręczniki

Szablony

Streszczenie 
Szablony jest to mechanizm umożliwiający półautomatyczne wstawianie treści jednej strony do drugiej. Głównym celem tworzenia szablonów jest uproszczenie wstawiania często powtarzających się fragmentów stron bez konieczności każdorazowego pisania od nowa tych fragmentów. Dodatkowo szablony umożliwiają dokonywanie szybkich zmian na wielu stronach na raz. Zmiana szablonu powoduje bowiem automatycznie zmiany na wszystkich stronach, do których jest on dołączony.

Spis treści


Podstawy

Technicznie, szablon jest taką samą stroną jak każda inna i edytuje się je w ten sam sposób. Specyficzną cechą szablonów jest możliwość stosowania w ich kodzie parametrów, przy pomocy których można dynamicznie zmieniać ich treść. Istnieje też możliwość tworzenia szablonów warunkowych - tzn. zachowujących się inaczej zależnie od podanych parametrów oraz miejsca, w którym zostały umieszczone. Tworzenie szablonów warunkowych jest jednak dość trudne i wymaga znajomości zasad działania języka PHP oraz ogólnej wprawy w programowaniu. Wykracza to poza ramy tego opisu.

Wstawianie szablonów

Kod wstawiania szablonów ma następującą postać:

{{metoda:Nazwa_szablonu|parametr1|parametr2|...itd}}
gdzie:
metoda: - może być pominięta lub może to być: subst: oraz msgnw:
Nazwa_szablonu - to tytuł strony, w której zapisany jest szablon z pominięciem przedrostka "Szablon:"
parametr(1), parametr(2)... itd - to lista kolejnych parametrów szablonu, jeśli szablon je wykorzystuje (więcej o samych parametrach można przeczytać w rozdziale na ten temat).

Tworzenie trwałego powiązania z szablonem

Poniższy kod:

{{Nazwa_szablonu}}

tworzy trwałe powiązanie z określonym szablonem.

Trwałe powiązanie powoduje wyświetlanie aktualnego tekstu szablonu przy każdym wczytaniu strony.

Przykład:

Utworzyliśmy prosty szablon, który znajduje się na stronie Szablon:MediaWikiTest i jego kod roboczy wygląda tak:

{| class="wikitable" align="center"
! Tekst szablonu
|-
| To jest przykładowy szablon
|}

czyli jest to prosta tabelka.

Następujący kod wstawiony do naszej strony:

{{MediaWikiTest}}

utworzy trwałe powiązanie ze wcześniej napisanym szablonem, co da taki efekt:


Tekst szablonu
To jest przykładowy szablon


W kodzie naszej strony nie będzie wstawionego bezpośrednio kodu strony Szablon:MediaWikiTest lecz tylko odniesienie do niego, które jest wykonywane od nowa przy każdym wczytaniu naszej strony. Gdybyśmy coś zmienili na stronie Szablon:MediaWikiTest, to wówczas nasza strona też się zmieni, mimo że jej nie edytowaliśmy. Oczywiście, jeśli wstawimy kod trwałego odniesienia do szablonu:MediaWikiTest do pięciuset (lub dowolnej innej liczby) innych stron, to po zmianie tego szablonu nastąpi zmiana wyglądu wszystkich tych pięciuset stron!

Uwaga 
Jeśli aktualnie mamy wczytaną stronę z trwałym powiązaniem z szablonem i dokonamy zmiany tego szablonu, to strona nie zmieni się natychmiast na naszym ekranie, lecz musimy ją przeładować aby zobaczyć rezultaty.

Jednokrotne wstawianie szablonu (subst:)

Kod:

{{subst:Nazwa_szablonu}}

powoduje wykonanie jednokrotnego wstawienia treści szablonu do danej strony. Po zapisaniu tej strony kod ten jest jednokrotnie "podmieniany" przez oprogramowanie treścią szablonu i nie tworzy się trwałe powiązanie między szablonem a naszą stroną.

Na przykład, jeśli wstawimy szablon MediaWikiTest przy pomocy kodu:

{{subst:MediaWikiTest}}

to wówczas po zapisaniu naszej strony, oprogramowanie wstawi w to miejsce treść szablonu MediaWikiTest, czyli wcześniej pokazaną tabelkę, zaś tekst: {{subst:MediaWikiTest}} po prostu zniknie.

Wizualny efekt subst: i bez "subst:" jest pozornie taki sam - ale strona, do której został wstawiony szablon metodą "subst:" nie będzie się zmieniała, gdy później zmieni się treść samego szablonu.

Tworzenie szablonów z parametrami

Parametry szablonu stosuje się wtedy gdy, chcemy wstawiać do wielu stron fragmety, które mają mieć taki sam wygląd ogólny, ale inną treść. Treść parametrów szablonów może być zupełnie dowolna - mogą to być proste teksty, linki a nawet obrazki i inne szablony.

Miejsce gdzie ma pojawić się treść parametru zaznacza się w kodzie szablonu potrójnymi nawiasami klamrowymi i liczbami określającymi numer parametru, np: {{{1}}}, {{{2}}} itd. Liczby te odnoszą się do kolejności parametrów wpisywanych w kodzie odwołania do niego.

Przykład:

Tworzymy szablon o nazwie Szablon:MediaWikiTest1 o następującym kodzie roboczym:

{| class="wikitable" align="center"
! colspan=2 | Tekst szablonu
|-
! Parametr 1
! Parametr 2
|-
| {{{1}}} - miejsce gdzie ma występować treść parametru 1
| {{{2}}} - miejsce gdzie ma występować treść parametru 2
|}

który teraz trochę potestujemy z użyciem różnych parametrów.

Kod odwołania:

{{MediaWikiTest1|krowa|koń}}

da taki efekt:


Tekst szablonu
Parametr 1 Parametr 2
krowa koń


Teraz wstawimy do tego szablonu linki wewnętrzne:

{{MediaWikiTest1|[[Pomoc]]|[[Dla prasy]]}}

i efekt:


Tekst szablonu
Parametr 1 Parametr 2
Pomoc Kontakt


a teraz wstawimy do tej tabelki zdjęcia:

{{MediaWikiTest1|[[Grafika:Cow portrait.jpg|thumb|center|150 px|Krowa]]|[[Grafika:Horse profile.jpg|thumb|center|150 px|Koń]]}}

i efekt:


Tekst szablonu
Parametr 1 Parametr 2
Krowa
Koń


Uwaga 
W odwołaniach do szablonów z parametrami musimy koniecznie wpisać wszystkie wymagane parametry. Gdy jakiegoś nie wstawimy wyświetlą się nam potrójne klamry.

Przykład:

{{MediaWikiTest1|Ups.. a gdzie drugi parametr?}}

i efekt:


Tekst szablonu
Parametr 1 Parametr 2
Ups.. a gdzie drugi parametr? {{{2}}}


Szablony i kategorie czyli "noinclude"

Szablony są potężnym narzędziem do Pomoc:kategorie stron.

Jeśli stronę szablonu przypisze się do danej kategorii, to automatycznie wszystkie strony, które będą miały wpisane wcześniej wspomniane trwałe powiązanie do tego szablonu również zostaną przypisane do tej kategorii. Umożliwia to oczywiście szybką zmianę kategorii setek stron na raz za pomocą zmienienia przypisania kategorii w jednym szablonie. Z drugiej jednak strony pozornie uniemożliwia to tworzenie osobnych kategorii przeznaczonych tylko dla szablonów.

Rozwiązanie tego problemu jest użycie specjalnego kodu, którym się obejmuje te części szablonu, które są widoczne na samych stronach tychże szablonów, ale nie są eksportowane do stron, w których te szablony są zamieszczone.

Fragmenty kodu szablonu, które nie ma być eksportowany do innych stron umieszcza się między tekstem:

<noinclude></noinclude>

Przykłady zastosowania tego mechanizmu można zobaczyć na stronach używanych wcześniej szablonów: Szablon:MediaWikiTest i Szablon:MediaWikiTest1.

Tekst pochodzi z podręcznika MediaWiki w obrazkach. Źródło: [1]. Autorzy: [2]