Nápověda:Moduly: Porovnání verzí

Smazaný obsah Přidaný obsah
m →‎Psaní modulu: nápověda
Xqbot (diskuse | příspěvky)
m Bot: Replace deprecated <source> tag and "enclose" parameter
Řádek 5:
Jak psaní modulů, tak volání modulů je pokročilejší oproti běžným šablonám. Moduly jsou psány s ohledem na ''interwiki využití'', jsou tedy převážně ''v angličtině''. Zároveň běžně zajišťují ''mnoho funkcí najednou'', stránka jednoho modulu dokáže to, co desítky různých šablon. Z toho důvodu se moduly používají '''pouze uvnitř šablon''' a pokročilých stránek wiki, '''nikdy''' ne přímo '''ve článcích'''.
 
Modul se do šablony vloží pomocí [[Nápověda:Kouzelná slůvka#Funkce|kouzelné funkce]] <sourcesyntaxhighlight lang="moin" inline=true>{{#invoke:}}</sourcesyntaxhighlight>. Volání modulu pak vypadá takto: <sourcesyntaxhighlight lang="moin" inline=true>{{#invoke: název modulu | název funkce v modulu | parametry }}</sourcesyntaxhighlight>. Stejně jako u šablon se vyplní ''název modulu a parametry'' (pojmenované i nepojmenované). Navíc proti šablonám je tu ještě ''název funkce''. Tam je potřeba vyplnit, která z funkcí v modulu se zavolá. Alternativní zápis šablony ''opakovat'' zobrazující tři vykřičníky (<code>!!!</code>) pomocí funkce ''rep'' modulu [[Modul:String|String]] by tedy vypadal takto:
 
<sourcesyntaxhighlight lang="moin">{{#invoke: string | rep | ! | 3 }}</sourcesyntaxhighlight>
 
<sourcesyntaxhighlight lang="moin">{{opakovat| 3 | ! }}</sourcesyntaxhighlight>
 
Protože se opakování nějakého textu může hodit i při psaní článků, máme zde kromě modulu i šablonu. Pro její kratší a srozumitelnější zápis je docela dobré používat všude právě šablonu. Jsou ale funkce modulů, které přímo ve článcích běžně nevyužijeme, například funkce modulu [[Modul:Wikidata|Wikidata]]. Protože tyto funkce mimo šablony nemají smysl, není potřeba pro ně vytvářet ještě šablonu.
Řádek 20:
Základem modulu je takzvaná tabulka funkcí (<code>f</code>), {{jaz|en|package (<code>p</code>)}}. Ta obsahuje všechny funkce modulu. Každá funkce poté vezme tzv. ''kontext'' obsahující různé užitečné informace (parametry nadšablony, parametry modulu, jméno aktuální stránky, jméno modulu, atd.), zpracuje jej podle sebe a vrátí výsledek, který se vypíše. Jednoduchý modul tak vypadá např. takto:
 
<sourcesyntaxhighlight lang="lua">
local f = {}
 
Řádek 28:
 
return f
</syntaxhighlight>
</source>
 
Funkce ''prvniParametr'' v tomto případě vrátí (vypíše) první parametr. Volání <sourcesyntaxhighlight lang="moin" inline=true>{{#invoke:můjModul|prvniParametr|text k vypsání}}</sourcesyntaxhighlight> tedy zobrazí ''„text k vypsání“''.
 
{{Nápověda podrobně|Nápověda:Vytvoření modulu}}