Nápověda:Šablony

This page is a translated version of the page Help:Templates and the translation is 100% complete.
PD Poznámka: Úpravou této stránky souhlasíte s uvolněním vašeho příspěvku pod licencí CC0. Více informací získáte na stránce nápovědy veřejné domény. PD

Máte-li standardní texty, které chcete zařadit na několika stránkách, je funkce šablon ideálním nástrojem. Na rozdíl od rozšíření a mediálních souborů zde není žádné centrální úložiště šablon. Šablony mohou být nově napsány nebo pro uložení již provedené duplicitní práce exportovány z jiné wiki např. Wikipedie a poté importovány do cílové wiki.

Vytvoření

Šablony jsou standardní wiki stránky, jejichž obsah je navržen tak, aby byl transkludován (vložen) do jiných stránek. Šablony se řídí konvencí, že název má předponu "Template:" a přiřazuje je k tomuto jmennému prostoru. Kromě toho je můžete vytvořit jako kteroukoli jinou wiki stránku.

Nejjednodušší použití šablon je následující. Pokud vytvoříte stránku s názvem "Template:Welcome" s obsahem:

Ahoj! Vítejte na wiki.

vytvořili jste svou první šablonu! Pokud zadáte kód:

{{Welcome}}

na jakékoli jiné stránce se místo {{Welcome}} zobrazí text "Ahoj! Vítejte na wiki.". Obsah šablony je "přenesen" na tuto stránku, tj. je na stránce integrován.

Kód {{Welcome}} můžete vložit na kterékoli místo jakékoli stránky, na které chcete někoho přivítat. Předpokládejme, že se používá na 100 stránkách. Pokud změníte obsah šablony na:

Ahoj! Vítejte na této skvělé wiki.

znovu na kterékoli ze 100 stránek, kde byla šablona použita, místo původního uvidíte již nový text. Tímto způsobem jste změnili obsah 100 stránek, aniž byste je upravovali, protože na tyto stránky je přenesena šablona.

Toto je základní princip. Existuje několik dalších funkcí transluze, které obohacují tento mechanismus a činí šablony velmi užitečnými.

Použití

Šablony lze použít na jiných stránkách těmito způsoby:

  • {{Name}} – jak je popsáno výše, tento text (běžně označovaný jako "volání šablony"(template call)) bude dynamicky nahrazen obsahem stránky s názvem Template:Name (proces zvaný "transclusion") pokaždé, když je stránka s voláním šablony načtena (tj. zobrazena čtenářem wiki). Protože volání šablony zůstává ve zdroji stránek, každá následná změna na Template:Name bude vidět na stránce obsahující volání šablony. Stránka bude také uvedena mezi těmi, které "odkazují" na šablonu.
  • {{subst:Name}} — při použití tohoto typu volání šablony bude nahrazeno statickou kopií obsahu šablony: Název v době, kdy je stránka obsahující volání šablony uložena. To znamená, že za volání šablony bude nahrazena kopie obsahu Template:Name. Mezi stránkou a šablonou není udržováno žádné propojení, takže každou lze dále upravovat, aniž by to ovlivnilo druhou. Ve skutečnosti je malý rozdíl mezi nahrazením obsahu tímto způsobem a jednoduchým zadáním do zdrojového kódu stránky "ručně".
  • {{safesubst:Name}} — toto bylo zavedeno, aby umožnilo rekurzivní substituci v případech, kdy šablony obsahují volání jiných šablon nebo funkcí analyzátoru. Další informace naleznete na Nápověda:Nahrazení .
  • {{msgnw:Name}} — zobrazí obsah šablony jako nezpracovanou syntaxi wiki (jako ‎<nowiki>), když je zobrazena stránka obsahující šablonu.

Ve skutečnosti lze běžnou wiki stránku použít také jako šablonu, jednoduše zadáním jmenného prostoru, ve kterém se nachází, takže:

  • {{Template:Pagename}} převádí stránku s názvem Template:Pagename (ekvivalentní k {{Pagename}})
  • {{Talk:Pagename}} převádí stránku s názvem Talk:Pagename
  • {{:Pagename}} převádí stránku s názvem Pagename (tj. v hlavním jmenném prostoru)
    • {{subst::Pagename}} nahrazuje obsah stránky s názvem Pagename

Pokud zadaný jmenný prostor neexistuje, předpokládá se, že úplný název je šablona:

  • {{Foo:Bar}} převádí šablonu:Foo:Bar

Parametry

Pro obohacení mechanismu transkluze umožňuje MediaWiki předat parametry šabloně, když je vkládána. Parametry umožňují šabloně vytvářet různý obsah nebo mít různé chování.

Předpokládejme, že chcete vložit malou poděkovací poznámku na diskusní stránku dalších uživatelů, například:


Díky… za vaše úsilí. zdraví Tonda


Jako první parametr šablony bude uvedeno zač je děkováno (v tomto případě "vaše úsilí") a jako druhý jméno děkujícího (např. "Tonda"). Vaším cílem je, aby kterýkoli uživatel mohl tímto způsobem za něco poděkovat jinému uživateli, kupř. v rámci diskuze.

Šablonu, například s názvem Template:Thankyou , použijete proto aby tato poznámka vypadala všude, kde se použije, stejně. I když bude vypadat každé poděkování podobně, jeho obsah (tj. důvod a podpis) se bude lišit vždy, pokud ji použije k poděkování někdo jiný, někomu jinému, za něco jiného. A to je obsah, který se bude předávat přes parametry. Zapomeňme pro tuto chvíli na ostatní prvky, které ovlivňují podobu rámečku a umístění obrázku. Z hlediska obsahu šablony, je rozhodující následující obsah:

'''Díky...'''
za {{{1}}}.
Zdraví {{{2}}}

Všimněte si použití {{{1}}} a {{{2}}}. Tak se do šablony vloží parametry předané při použití šablony. Identifikátory parametrů jsou uzavřeny do trojitých složených závorek: {{{ }}}. To zajistí, že se nebudou interpretovat jako názvy šablony.

Když se šablona používá na stránce, oddělují se parametry znakem "svislítko" (|). MediaWiki identifikuje parametry předané šabloně třemi způsoby: podle pozice, čísla nebo jména.

Nepojmenované, poziční parametry

Pokud parametry předané šabloně nepojmenujete, bude rozhodující jejich pořadí:

{{Thankyou|vaše úsilí|Tonda}}

V tomto případě se šabloně {{Thankyou}} předají dva poziční parametry {{{1}}}=vaše úsilí a {{{2}}}=Tonda:


Díky… za vaše úsilí. zdraví Tonda


Pořadí, ve kterém jsou parametry uvedeny, je pro jejich zpracování důležité. Podívejme se, jak bude vypadat výsledek zpracování, pokud uvedeme tyto parametry v obráceném pořadí:

{{Thankyou|Tonda|vaše úsilí}}

a tohle je výsledek:


Díky… za Tonda. zdraví vaše úsilí


Podle pozice se zpracovávají pouze nepojmenované parametry. Pokud použijete při pojmenování číslo pozice (např. {{{1}}} atd.) nemusí šablona fungovat správně. Žádné parametry identifikované jménem, jak je uvedeno níže, nebudou pro šablonu přístupné pomocí pořadových čísel.
Pozor také na znak "rovnítka" =. Pokud se objeví v hodnotě pozičního parametru, může být předchozí textová hodnota tohoto parametru chybně interpretována jako identifikátor pojmenovaného parametru (což vysvětlujeme níže). Stává se to poměrně často, pokud chcete jako poziční parametr šablony použít externí link nebo parametrizovaný HTML element (viz úkol T16235). Vyhnete se mu, pokud místo pozičních parametrů použijete parametry pojmenované, resp. očíslované.

Číslované parametry

Předávané parametry lze identifikovat podle čísla už při jejich předání:

{{Thankyou|2=Tonda|1=tvé přátelství}}

Tentokrát jsou šabloně {{Thankyou}} předané dva očíslované parametry {{{1}}}=tvé přátelství a {{{2}}}=Tonda. Přestože byly v šabloně uvedené v obráceném pořadí, jsou zpracované takto:


Díky… za tvé přátelství. zdraví Tonda


To se hodí, obzvláště pokud by mohl některý z parametrů obsahovat znak "=".
Příklad
{{Thankyou|1=přidání "="|2=Tonda}}

zobrazí se:


Díky… za přidání "=". zdraví Tonda

  Varování: Pokud ale použijete k identifikaci některého parametru číslo, tak byste měli uvést identifikátor i u těch ostatních.

Pojmenované parametry

Místo čísel můžete použít jako identifikátory i textové řetězce. V tomto případě by se obsah šablony změnil na:

'''Díky...'''
za {{{reason}}}.
Zdraví {{{signature}}}

V šabloně nyní místo čísla použijeme pro první parametr {{{reason}}} a pro druhý {{{signature}}}:

{{Thankyou|signature=Tonda|reason=to že jsi tím, kým jsi}}

V tomto případě šablona {{Thankyou}} převezme parametry {{{{reason}}}=to že jsi tím, kým jsi a {{{signature}}}}=Tonda a vytvoří:


Díky… za to že jsi tím, kým jsi. zdraví Tonda


Pojmenované parametry rozlišují velká a malá písmena, takže:

{{Thankyou|signature=Tonda|Reason=to že jsi tím, kým jsi|reason=tohle zobrazím, protože u identifikátorů záleží na psaní velkých a malých písmen}}

zobrazí:


Díky… za tohle zobrazím, protože u identifikátorů záleží na psaní velkých a malých písmen. zdraví Tonda


Výhodou použití pojmenovaných parametrů ve vaší šabloně, kromě toho, že lze předat parametry v jiném pořadí, je i to, že je kód šablony snáze pochopitelný, a to i při použití mnoha parametrů.

Výchozí hodnoty

Pokud převedete šablonu, která očekává parametry, ale neposkytnete jejich argumenty, tímto způsobem:

{{Thankyou}}

v příkladu s číslovanými parametry, uvedeném výše, získáte následující:


Díky… za {{{1}}}. zdraví {{{2}}}


Vzhledem k tomu, že nebyly předány žádné argumenty, představuje šablona samotné parametry namísto jejich příslušných hodnot. V těchto případech může být užitečné definovat výchozí hodnoty pro parametry, tj. hodnoty, které budou použity, pokud nebude předána žádná hodnota. Například pokud se obsah šablony změní na:

'''Děkuji...'''
za {{{reason|všechno}}}.
kdo, {{{signature|Já}}}

pak {{reason|všechno}} definuje, že pokud není poskytnut žádný argument pro parametr {{{reason}}}, pak bude použita hodnota všechno. Podobně {{{signature|Já}}}, výchozí parametr {{{signature}}} má hodnotu . Výsledkem opětovného převedení šablony bez předání argumentu je následující:


Díky… za všechno. zdraví Já


Hodnotou parametru může být prázdný řetězec. Například v {{foo|bar=}} nebo {{foo|bar=|baz=qux}} šablona foo považuje parametr bar za "". To se liší od úplného vynechání parametru, který jej ponechá nedefinovaný a spustí mechanismus výchozích hodnot popsaný výše.
If you need to treat an empty string the same way as a missing parameter, you can use a conditional operator through an extension like ParserFunctions. For instance, {{#if:{{{1|}}}|{{{1|}}}|undefined}} returns undefined if the parameter is either undefined or empty, while {{{1|undefined}}} does so only if the parameter is undefined.

K určení alternativních názvů parametrů se často používají výchozí hodnoty. Pokud máte například {{{a|{{{b|}}} }}}, šablona nejprve vyhledá parametr s názvem "a". Pokud není nastaven, použije parametr s názvem "b". Pokud není nastaveno ani "a" ani "b", nevypíše se nic.

Hodnocení

Toto je pokročilé téma, které můžete přeskočit, pokud jej nepotřebujete.

Obecně řečeno, parametry šablony jsou nahrazeny do šablony po tokenizaci (zpracování symbolů), ale tak, jak jsou. Nejsou hodnoceny, dokud nejsou použity.

To má několik důsledků. Za prvé, pokud máte Template:Start obsahující {{mytemplate a Template:End obsahující |foo=bar}} a vložíte {{start}}{{end}} na stránku, mytemplate nebude transkludováno, protože tokeny jako "|" nelze přidat pomocí šablony a zachovat jejich speciální význam v šablonách. K ovládání názvu parametru nebo šablony můžete stále používat šablony, ale nemůžete rozdělit volání šablony mezi více šablon.

Druhým důsledkem je odstranění mrtvého kódu. Pokud provedete volání šablony jako {{foo|{{DISPLAYTITLE:Bar}} }} a Template:Foo neobsahuje {{{1}}}, pak se displaytitle nepoužije, protože je vyhodnocen pouze v případě potřeby a neexistuje žádný parametr, do kterého by se dal nahradit, takže se nikdy nevyhodnocuje. To obvykle přichází do hry při použití Rozšíření:ParserFunctions a lze si toho všimnout zejména při použití v kombinaci s kouzelným slovem int:, které se liší podle jazyka uživatele.

Volání šablony začínající magickým slovem subst: nebo safesubst: jsou vyhodnocena v samostatném prvním průchodu, který probíhá pouze v době uložení, spolu s ~~~~ a odkazy pomocí pipe triku. Pokud je nelze vyhodnotit během prvního průchodu, volání subst: jsou ignorována a safesubst: jsou považována za normální šablonu.

Mnoho, ale ne všechny funkce analyzátoru, značky analyzátoru a transkludované speciální stránky nejsou přímo zahrnuty jako šablony, ale místo toho jsou nahrazeny "značkou stripu". To znamená, že nemůžete pracovat s výsledky pomocí funkcí analyzátoru, jako je padleft: nebo podobných funkcí z rozšíření, protože místo výsledku funkce analyzátoru vidí značku stripu.

Rekurze v šablonách

Zahrnutí šablony samo do sebe nespustí MediaWiki do nekonečné rekurze (určitá procedura nebo funkce je znovu volána dříve, než je dokončeno její předchozí volání). MediaWiki zastaví rekurzi tučným názvem šablony. Pokud je například obsah Template:Aaaa a {{Aaaa}} z, zobrazí se "a a Template loop detected: Template:Aaaa z z".

Zakázaný idiom

Tato ochrana vylučuje potenciálně užitečný idiom šablony, kde šablona sama normalizuje své vlastní volací argumenty. V tomto zakázaném příkladu lze template:d nazývat {{d|20200311}} nebo {{d|y=2020|m=3|d=11}}. Pokud je volána prvním způsobem, vrátí se do sebe se strukturou druhého argumentu (získaného pomocí funkcí analyzátoru řetězců), která pak následuje jednotnou cestu zpracování.

{{#if:{{{1|}}}|{{d|y={{#sub:{{{1}}}|0|4}}|m={{#sub:{{{1}}}|4|2}}|d={{#sub:{{{1}}}|6|2}}}}|<!-- processing path with arguments y,m,d regardless of original call pattern -->}}

Pokud je template:d upraven tak, aby rekurzoval na template:d/2 a template:d/2 je identická ruční kopie template:d, tento idiom funguje dobře, protože ochrana proti samo-rekurzi funguje dynamicky a ne staticky.

Schůdným způsobem, jak software MediaWiki uvolnit pravidlo samo-rekurze, by bylo vyžadovat, aby každé rekurzivní volání mělo odlišný počet argumentů od všech předchozích aktivních volání, maximálně jednou opakující se s neklesajícím počtem argumentů. To by poskytlo silnou záruku proti nekonečné seberekurzi a zároveň umožnilo flexibilním způsobem užitečné idiomy, jako je ten zde popsaný.

Pokud je procesní cesta málo složitá, jednoduchým řešením využívajícím pouze jednu šablonu je zpracovat každou volající konvenci na samostatné větvi if/else, čímž se v každém případě duplikuje logika procesní cesty. Pokud je cesta zpracování složitější, každý případ struktury volání lze delegovat na implementační šablonu s jednotnou strukturou volání, která poskytuje konečné chování šablony.

Tabulky v parametrech

Vzhledem k tomu, že znak svislé čáry (|) a znak rovnosti (=) mají ve volání šablon a wikitabulkách různý význam, k použití značky tabulky v hodnotě parametru šablony je obecně nutné tyto znaky "escapovat" (tj. chránit je před interpretace jako značkování šablony) pomocí speciálních sekvencí:

  • vestavěné kouzelné slovo {{!}} poskytuje "uniklou" verzi | od MediaWiki 1.24
  • vestavěné kouzelné slůvko {{=}} poskytuje "escapovanou" verzi = od MediaWiki 1.39

Před zavedením těchto kouzelných slov používalo mnoho wikin k dosažení stejných věcí šablony. Na takové wiki mají kouzelná slova přednost před stejnojmennými šablonami.

Příklad tabulky

A B C
A1 B1 C1
A2 B2 C1

Kód tabulky:

{| class=wikitable
!A!!B!!C
|-
|A1||B1||C1
|-
|A2||B2||C1
|}

Kód escapované tabulky:

{{{!}} class{{=}}wikitable
!A!!B!!C
{{!}}-
{{!}}A1{{!}}{{!}}B1{{!}}{{!}}C1
{{!}}-
{{!}}A2{{!}}{{!}}B2{{!}}{{!}}C2
{{!}}}

Všimněte si, že první levá složená závorka ({) je interpretována jako doslovný znak levé složené závorky, protože za ní bezprostředně následuje magické slovo {{!}}. Podobně je poslední pravá složená závorka (}) interpretována jako doslovná pravá závorka, protože před ní bezprostředně předchází stejné kouzelné slovo. V některých případech však tyto znaky složené závorky způsobují problémy, takže některé wikiny poskytují šablony pro escapování těchto znaků také:

  • volání šablony {{(}} může poskytnout "escapovanou" verzi {
  • volání šablony {{)}} může poskytnout "escapovanou" verzi }

Některé wikiny jdou ještě dále a poskytují další vhodné šablony, jako je {{(!}}, {{!)}}, {{!!}}. Na takové wiki lze kód trochu zjednodušit do této podoby:

{{(!}} class{{=}}wikitable
!A!!B!!C
{{!}}-
{{!}}A1{{!!}}B1{{!!}}C1
{{!}}-
{{!}}A2{{!!}}B2{{!!}}C2
{{!)}}

Zahrnutí kontrolní šablony

Ve výchozím nastavení je obsah šablony zobrazen jako celek. A to jak při přímém prohlížení, tak při zahrnutí na jinou stránku. Můžete však určit, pomocí značek ‎<noinclude>, ‎<includeonly> a ‎<onlyinclude>, které části šablony se budou zobrazovat a zahrnovat.

Všechno mezi ‎<noinclude> a ‎</noinclude> bude vidět pouze tehdy, když se stránka šablony prohlíží přímo, ale ne, když je zahrnuta do jiné stránky. To je užitečné, pokud chcete do šablony zahrnout text nebo kód, který nechcete šířit na žádné stránky, které jej obsahují, jako například:

  • Odkazy při kategorizaci samotné šablony.
  • Mezijazyčné odkazy na podobné šablony v jiných jazycích.
  • Vysvětlující text k použití šablony.

Podobně bude cokoli mezi ‎<includeonly> a ‎</includeonly> zpracováno a zobrazeno pouze při zahrnutí stránky, ale ne při přímém prohlížení stránky šablony. To je užitečné v situacích, jako například:

  • Kategorizace stránek obsahujících šablonu. Poznámka: Při změně kategorií použitých šablonou tímto způsobem nemusí být kategorizace stránek, které tuto šablonu obsahují, aktualizována okamžitě, ale až za nějaký čas: Zpracovává ji fronta úloh . Chcete-li vynutit změnu kategorizace konkrétní stránky, otevřete ji pro úpravy a uložte ji beze změn.
  • Zajištění, že kód šablony nebude spuštěn při prohlížení samotné stránky šablony. Obvykle je to proto, že očekává parametry a provedení bez parametrů má nežádoucí výsledek.

Všechno mimo ‎<noinclude> a ‎<includeonly> je zpracováno a zobrazeno normálně. To znamená, když se stránka šablony prohlíží přímo nebo když je šablona zahrnuta na jiné stránce. Důraz je kladen na to, co je uvnitř těchto dvou značek.

Všechno mimo ‎<onlyinclude> tagy je při převodu vyřazeno. Dokonce i sekce označené pouze includeonly (včetně) jsou při převodu zahozeny, pokud nejsou označeny jako onlyinclude (zahrnout pouze). Důraz je kladen na to, co je mimo tuto značku.

Je také možné vnoření těchto značek.

Tři značky pro částečný přechod umožňují všechny možné kombinace toho, co je zpracováno a vykresleno. Roli plní i komentáře.

Organizování šablon

Aby byly šablony efektivní, musí je uživatelé jednoduše najít a zjistit, jak je správně používat.

Uživatelé je mohou najít:

  1. Kliknutím na Speciální stránky > Všechny stránky
  2. V seznamu Jmenný prostor: zvolte Template a klikněte na Přejít.

Chcete-li poskytnout informace o způsobu použití, připojte na stránku šablony takovýto příklad:

<noinclude>
== Použití ==
Uživatelé vítejte:
{{Thankyou|reason=tvůj důvod|signature=tvůj podpis}}
</noinclude>

Redaktor potom podobnou stránku vytvoří tak, že příklad jednoduše zkopíruje.

Při úpravách stránky je v editačním formuláři k dispozici seznam všech použitých šablon ve sbalitelné sekci s názvem "Šablony použité na této stránce:" (také pojmenovaný "Šablony použité v tomto náhledu:" nebo "Šablony použité v této části stránky:" v závislosti na kontextu). Tento seznam poskytuje pohodlný odkaz na stránku šablony a také informace o jejím stavu ochrany. Přesměrované šablony jsou zobrazeny kurzívou, přičemž cíl přesměrování je přidán jako samostatná položka seznamu.

Propojení na šablonu

Stránku šablony lze propojit s jakoukoli jinou stránkou wiki. Například odkaz Template:Navbar je generován pomocí wikicode [[Template:Navbar]].

Na mnoha wikinách Template:Tl lze použít k vytvoření odkazu na šablonu formátovanou způsobem, který ukazuje wikicode "double curly-braces" nezbytný k převedení šablony bez skutečného provedení převodu. Například kód {{tl|Navbar}} může být použit k vytvoření odkazu {{Navbar }}.

Tento způsob se běžně používá v dokumentaci šablon, na stránkách nápovědy a na diskusních stránkách při odkazování na šablony. Stejného efektu lze dosáhnout použitím {{[[Template:Navbar|Navbar]]}}, ale použití {{Tl }} vyžaduje o dost méně psaní. Na jakékoli dané wiki šablona Tl, pokud existuje, může nebo nemusí vykreslit text v prvku "kód" nebo jako typ monospace. Pokud ne (jako na této wiki), může tak učinit jiná podobně pojmenovaná šablona. Viz například část "Viz také" naší dokumentace Template:Tl.

Kopírování z jedné wiki do druhé

Šablony často vyžadují CSS nebo jiné šablony, takže uživatelé mají často potíže s kopírováním šablon z jedné wiki do druhé. Následující kroky by měly fungovat pro většinu šablon.

MediaWiki code

Pokud máte nová importní práva (konkrétně importupload):

  1. Přejděte na Special:Export na původní wiki a stáhněte soubor .xml s úplnou historií všech potřebných šablon, takto:
    • Do textového pole zadejte název šablony, např. "Template:Welcome". Zvláštní pozornost věnujte malým a velkým písmenům a zvláštním znakům - pokud není název šablony přesně správný, může dojít k exportu, ale soubor XML nebude mít očekávaná data.
    • Zaškrtněte políčko "Zahrnout šablony".
    • Zaškrtněte políčko "Zahrnout jen současnou verzi, ne plnou historii".
    • Klikněte na "Exportovat".
  2. Na nové wiki přejděte na Special:Import a nahrajte soubor .xml.

Pokud nemáte nová importní práva na novou wiki:

  1. Přejděte na šablonu, kterou chcete zkopírovat z původní wiki. Přejděte na stránku úprav a zkopírujte celý wikitext
  2. Na nové wiki přejděte na stránku se stejným názvem jako šablona, kterou jste zkopírovali. Klikněte na vytvořit/upravit a vložte zkopírovaný wikitext. V souhrnu úprav každé šablony uveďte odkaz na původní stránku pro přiřazení.
  3. Zpět na původní wiki v okně úprav pod polem úprav se podívejte na seznam "Šablony použité na této stránce". Pro každou uvedenou šablonu postupujte podle těchto pokynů. Udělejte to také pro jakoukoli šablonu používanou kteroukoli z těchto šablon a tak dále.

Tím se zkopíruje celý nezbytný kód a bude stačit pro některé šablony. Všimněte si, že se exportují pouze prvky stránky analyzované při vykreslování stránky, v důsledku toho se v rámci tohoto procesu neexportují podstránky dokumentace. Pokud to nefunguje, zkontrolujte také červené odkazy uvedené v části "Pages transcluded onto the current version of this page:" (stránky přenesené na aktuální verzi této stránky) pod editačním polem. Pokud nějaké existují, opakujte výše uvedené kroky i pro ně a také zkopírujte kód do modulů.

Po úspěšném importu šablony a všech souvisejících šablon z druhé wiki šablonu upravte tak, aby vyhovovala vaší wiki. Chcete-li například změnit logo, odeberte nadbytečné kategorie nebo červené odkazy.

Rozšíření

Přípona často používaná v šablonách je ParserFunctions. Navštivte stránku Nápověda:Rozšíření:ParserFunctions a zkontrolujte, zda se ve zkopírovaných šablonách nepoužívají některé ze zde uvedených funkcí. Pokud ano, musíte nainstalovat rozšíření Rozšíření:ParserFunctions . K jeho instalaci budete potřebovat systémový administrátorský přístup k serveru vaší instalace MediaWiki.

Další závislost, kterou lze použít v šablonách, zejména na Wikipedii, je Lua (programovací jazyk). Dobré je mít {{#invoke: }} v kódu šablony. V případě, že se používá, musíte nainstalovat rozšíření Rozšíření:Scribunto . I zde je vyžadován přístup správce systému. Na této stránce naleznete další pokyny k instalaci a používání rozšíření.

CSS a kód JavaScript

Kromě kódu MediaWiki mnoho šablon využívá CSS a některé spoléhají na plné fungování JavaScriptu. Pokud se zkopírované šablony nebudou chovat podle očekávání, může zde být příčina. Chcete-li zkopírovat požadované CSS a JavaScript na svou wiki, obvykle budete potřebovat administrátorská oprávnění, protože budete upravovat systémové zprávy ve jmenném prostoru "MediaWiki:".

  1. Vyhledejte v textu šablony použití tříd CSS (text jako class="foobar"). Pokud se tyto třídy objeví v "MediaWiki:Common.css" nebo "MediaWiki:Monobook.css" na původní wiki, zkopírujte tyto třídy do "MediaWiki:Common.css" na nové wiki a zkontrolujte, zda je šablona v pořádku.
  2. Jestliže zkopírovaná šablona stále nefunguje podle očekávání, zkontrolujte, zda se na původní wiki nachází kód "MediaWiki:Common.js" nebo "MediaWiki:Monobook.js". Pokud ano, můžete jej zkusit zkopírovat na "MediaWiki:Common.js" na nové wiki. Obvykle je vhodné kopírovat kód pouze z důvěryhodných zdrojů a nejprve procházet kód, identifikovat a vybrat části, které jsou relevantní. Můžete najít komentáře, které mohou sloužit jako vodítka pro identifikaci funkčnosti každé části.

Související odkazy

Obecné použití šablony

Speciální konstrukce používané v šablonách

Další relevantní informace

Externí odkazy