Šablona:IsSelf: Porovnání verzí
cs>Oashi (++Povinný stacktrace|{{{stacktrace|<noinclude>IsSelf</noinclude>}}) |
cs>Oashi m (>>stacktrace) |
||
Řádek 15: | Řádek 15: | ||
Šablona je [[tříhodnotová logika|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. | Šablona je [[tříhodnotová logika|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. | ||
* <code><nowiki>{{IsSelf|{{ns:10}}|oveř stránku| | * <code><nowiki>{{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona}}</nowiki></code> = {{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona }} | ||
OK | OK | ||
* <code><nowiki>{{IsSelf|{{ns:XY}}|oveř stránku| | * <code><nowiki>{{IsSelf|{{ns:XY}}|oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|XY|oveř stránku|stacktrace= moje editovaná šablona }} | ||
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. | 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. | ||
* <code><nowiki>{{IsSelf|{{ns:10}}| | * <code><nowiki>{{IsSelf|{{ns:10}}|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|{{ns:10}}|stacktrace= moje editovaná šablona }} | ||
Název stránky k ověření je požadovaným vstupem. | Název stránky k ověření je požadovaným vstupem. | ||
* <code><nowiki>{{IsSelf|oveř stránku| | * <code><nowiki>{{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }} | ||
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.) | 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.) | ||
* <code><nowiki>{{IsSelf||oveř stránku| | * <code><nowiki>{{IsSelf||oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf||oveř stránku|stacktrace= moje editovaná šablona }} | ||
OK, takto je jasné, že opravdu dostanete to, co chcete - ověření článku z hlavního prostoru. | OK, takto je jasné, že opravdu dostanete to, co chcete - ověření článku z hlavního prostoru. | ||
Verze z 7. 1. 2014, 06:29
{{IsSelf|{{ns:10}}|IsSelf|stacktrace=IsSelf}}
=
1
Vrací 1, když usoudí, že je právě na té stránce, jako říká vstup. Jinak vrátí 0.
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
Š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 }}
= 0Věci přenesené přes šablony z cs:wiki Šablona „moje editovaná šablona>IsSelf“ požaduje hodnotu v parametru „2 (strana)“, ta ale chybí!
Název stránky k ověření je požadovaným vstupem.
{{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }}
= 0Věci přenesené přes šablony z cs:wiki Šablona „moje editovaná šablona>IsSelf“ požaduje hodnotu v parametru „2 (strana)“, ta ale chybí!
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}}
= 0Věci přenesené přes šablony z cs:wiki Šablona pro stacktrace požaduje stacktrace nebo název šablony: „|stacktrace={{{stacktrace|}}}>editovaná šablona“ nebo alespoň „|šablona=editovaná šablona“. Ani jeden z těchto parametrů však nebyl obdržen!
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
{{isDoc}}
{{not}}
{{povinný stacktrace}}
{{Jen pro kategorie}}