Jak kombinovat stránky
MediaWiki má jednu velmi mocnou vlastnost, které se využívá např. také u šablon. A tou je spojování stránek. Díky tomuto spojování lze tvořit velmi sofistikované stránky
Vložení jiné stránky
Je základní funkcionalitou. Provede se tak, že se mezi dvě složené závorky umístí název stránky. Aby však tento název nebyl automaticky interpretován jako šablona – tj. stránka ze jmenného prostoru Šablona (Template), musí mu předcházet dvojtečka.
{{:test-text}}
Vložený obsah:
Ukázkový obsah stránky
Že jde skutečně o vložený obsah, to si můžete ověřit když navštívíte stránku test-text. Ovšem to platí pouze pro stránky z hlavního jmenného prostoru. U stránek z jiných jmenných prostorů to není nutné. Viz ukázkový příklad:
{{:Nápověda:Vložený celý text}}
{{Nápověda:Vložený celý text}}
{{test-text}}
{{:test-text}}
Vložený obsah:
Ukázkový obsah stránky Ukázkový obsah stránky Šablona:test-text Ukázkový obsah stránky
Jak můžete vidět, u řetězce test-text
, který je bez dvojtečky na začátku, se automaticky předpokládá, že jde o šablonu, kdežto obsah stránky Nápověda:Vložený celý text se vloží tak jako tak.
Podmíněné vložení jiné stránky
Při generování výsledného kódu je začleněn veškerý kód z vložené stránky, a to včetně kategorizace. V případě, že je vložená stránka kategorizována, přidají se kategorie z vloženého kódu k těm stávajícím.
Totéž platí i pro poznámky pod čarou. U těch je třeba mít na paměti, že se vygenerují tam, kde se v kódu příslušné sekce objeví první instance tagu <references />
, což nemusí být vždy žádoucí.
Proto jsou k dispozici dva párové elementy, jimiž lze ovlivnit přístup parseru ke kódu ze kterého se generuje obsah stránky.
<includeonly>
Je-li kód vkládané stránky uzavřen do tohoto párového tagu, bude interpretován generátorem pouze tehdy bude-li stránka vložena jinam.
Toho lze využít zvláště u proměnných v šablonách, které mají být závislé na parametrech stránky do níž je kód vložen, nikoliv na parametrech šablony.
<noinclude>
Je-li kód vkládané stránky uzavřen do tohoto párového tagu, pak nebude parser při vložení kódu stránky jinam na něho brát zřetel. Toho lze využít např. právě u výše zmíněného elementu <references />
Jak vložit pouze vybraný kus obsahu stránky
Pokud chceme z obsahu stránky vložit pouze vybraný kus, je třeba využít rozšíření LabeledSectionTransclusion, které umožňuje sofistikovanější sestavení obsahu stránky z obsahu stránky jiné.
Vložení vybrané sekce
Pro vložení vybrané sekce se používá klíčové slovo #lsth
, oddělené od jména stránky (a případně i názvu jmenného prostoru) dvojtečkou. Za ním by mělo následovat svislítko a jako parametr jméno vybrané sekce. Pokud tento parametr zcela chybí, pak se vloží ze stránky pouze část, která předchází prvnímu výskytu sekce.
{{#lsth:Nápověda:Ukázkové vložení textu}}
Vložená předmluva:
Není-li uvedeno jméno sekce, je vložen text, který předchází první sekci
Že jde skutečně o obsah, který předchází první sekci se můžete přesvědčit, přímo na stránce Nápověda:Ukázkové vložení textu. V následujícím ukázkovém příkladu je vložen obsah druhé sekce:
{{#lsth:Nápověda:Ukázkové vložení textu|Sekce druhá}}
Vložený obsah druhé sekce:
Toto je a obsah druhé sekce.
Toto je obsah z druhé sekce stránky Nápověda:Ukázkové vložení textu, který je viditelný pouze v případě, že je vložen jako součást jiné stránky
Jak se můžete přesvědčit na stránce Nápověda:Ukázkové vložení textu, jsou v obsahu druhé sekce použity elementy noinclude a includeonly. Ovšem při vkládání obsahu přes rozšíření LabeledSectionTransclusion se pracuje s již zpracovaným obsahem zdrojové stránky, proto to funguje zdánlivě obráceně. |
Vložení sekvence následujících sekcí
Při vložení sekce se ignoruje její název (titulek), ale to platí pouze v případě počáteční sekce. Pokud vložíme sekvenci několika sekcí najednou, vloží se ty ostatní včetně titulku. Viz ukázkový příklad.
{{#lsth:Nápověda:Ukázkové vložení textu|Sekce první|Sekce čtvrtá}}
Vložený obsah první, druhé a třetí sekce:
Toto je obsah první sekce .
Z ukázkového příkladu je zřejmé, že titulek čtvrté sekce posloužil pouze pro vymezení obsahu.
- Pokud vymezíme začátek sekvence názvem sekce která neexistuje – nevloží se nic.
- Pokud vymezíme konec sekvence názvem sekce která neexistuje – vloží se pouze obsah počáteční sekce.
Vložení obsahu, vymezeného elementem <section />
Mnohem větší možnosti poskytuje vymezení obsahu elementem <section />. Ten má dva atributy. Hodnota atributu begin označuje začátek vybrané sekce, a stejná hodnota u atributu end určuje její konec – bez ohledu na ostatní kód stránky.
Pro vložení se použije pouze #lst
a hodnotou parametru je jméno sekce.
{{#lst:Nápověda:Ukázkové vložení textu|sec1}}
Vložený obsah první sekce a obsah druhé sekce je viditelný pouze v případě, že je vložen do jiné stránky jako vybraná sekce s názvem sec1
Sekvenční vložení
Při vložení sekvence platí totéž co u vymezení sekvence přes názvy sekcí – první parametr určuje jméno atributu begin u kterého se má začít a druhý jméno atributu end u kterého se má skončit.
{{#lst:Nápověda:Inverzní vložení textu|sec2|sec3}}
Sekvenční vložení:
Druhá věta. Třetí věta.
Inverzní vložení
V některých případech se může hodit inverzní vložení, při kterém se naopak vybraná sekvence kódu skryje:
{{#lstx:Nápověda:Inverzní vložení textu|sec2|}}
Inverzní vložení:
První věta.
Třetí věta.
V případě inverze se druhý parametr interpretuje jako náhradní text
{{#lstx:Nápověda:Inverzní vložení textu|sec2|Chcete-li vidět úplný obsah vkládané stránky, podívejte se na stránku [[:Nápověda:Inverzní vložení textu]].}}
Inverzní vložení s náhradou původního textu:
První věta. Chcete-li vidět úplný obsah vkládané stránky, podívejte se na stránku Nápověda:Inverzní vložení textu. Třetí věta.