Šablona:IsSelf: Porovnání verzí
cs>Oashi ++priklad testu: #ifexpr |
m naimportováno 18 revizí |
||
| (Není zobrazeno 7 mezilehlých verzí od 3 dalších uživatelů.) | |||
| Řádek 1: | Řádek 1: | ||
<noinclude><code><nowiki>{{IsSelf|{{ns:10}}| | <noinclude><code><nowiki>{{IsSelf|{{ns:10}}|IsSelf}}</nowiki></code> = <br /></noinclude>{{ | ||
#ifeq:{{FULLPAGENAME}}|{{{namespace|{{{1|{{{ns|<noinclude>{{ns:10}}</noinclude>}}}}}}}}}:{{{stránka|{{{2|{{{strana|<noinclude>IsSelf</noinclude>}}}}}}}}}|1|0}} | #ifeq:{{FULLPAGENAME}}|{{{namespace|{{{1|{{{ns|<noinclude>{{ns:10}}</noinclude>}}}}}}}}}:{{ucfirst:{{{stránka|{{{2|{{{strana|<noinclude>IsSelf</noinclude>}}}}}}}}}}}|1|0}}<noinclude> | ||
{{Dokumentace}}<!-- KATEGORIE, PROSÍME, PŘIDÁVEJTE DO /doc PODSTRÁNKY. DĚKUJEME --> | |||
-- | |||
</noinclude> | </noinclude> | ||
Aktuální verze z 4. 8. 2018, 05:48
{{IsSelf|{{ns:10}}|IsSelf}} =
1
Vrací 1, když usoudí, že je právě na té stránce, jako říká vstup. Jinak vrátí 0.
Použití[editovat zdroj]
Dobré jako vstup pro testování v podmínkách, typicky v šablonách:
- {{{1|}}} (ns) - namespace, defaultně přednastaveno "", tedy NS hlavního prostoru. Zkus třeba: "
{{ns:10}}" = "Šablona". - {{{2}}} (strana) - název stránky, povinný, k testu na shodu s PAGENAME, včetně případných podstránek za lomítky.
Prozor, i v hlavním prostoru může dojít k selfreferenci: Například přes {{Sloučit}}, kam se název stránky zadává jako vstup. Podobně se uplatní i v šablonách pro kategorie apod.
Validace[editovat zdroj]
Výsledek se testuje pomocí wiki-syntaxe{{#ifexpr: {{isSelf|{{ns:10}}| šablona }}
| stejná
| jiná
}}
Šablona je tří-stavová: V případě chyby je tato chyba součástí výsledné hodnoty. Tedy nevrací jen číselné hodnoty 0 a 1, ale při chybě i text.
{{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona}}= 0
OK
{{IsSelf|{{ns:XY}}|oveř stránku|stacktrace= moje editovaná šablona }}= 0
Takový namespace neexistuje, ovšem systém je zde fault-tolerantní a nehlásí chybu, není validováno: Holt by takový test nikdy nevrátil hodnotu "1". Správnost funkce je na editorovi.
{{IsSelf|{{ns:10}}|stacktrace= moje editovaná šablona }}= 0
Název stránky k ověření je požadovaným vstupem.
{{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }}= 0
Když je vstup "2" požadován, jsou vlastně potřeba oba: i "1", ten před ním. (Tento striktní přísup předchází chybám: zadané vstupy šablona spolkne a už je pro ověření nelze nikde vidět, co za hodnoty že se vlastně předalo. Navíc se tak do šablony snáze copypastuje.)
{{IsSelf||oveř stránku|stacktrace= moje editovaná šablona }}= 0
OK, takto je jasné, že opravdu dostanete to, co chcete - ověření článku z hlavního prostoru.
{{IsSelf||oveř stránku}}= 0
Potřebuje název té vaší "právě editované šablony", to kvůli přadáváním "stacktrace" v budoucích chybových hlášeních, až bude tato šablona použita.
Související šablony[editovat zdroj]
{{isDoc}}{{not}}{{povinný stacktrace}}{{Jen pro kategorie}}