Šablona:IsSelf: Porovnání verzí

Z Enviwiki
Skočit na navigaci Skočit na vyhledávání
cs>Oashi
(>> stacktrace)
cs>Oashi
(>> stacktrace, --{{{sablona)
Řádek 1: Řádek 1:
<noinclude><code><nowiki>{{IsSelf|{{ns:10}}|IsSelf|šablona=IsSelf}}</nowiki></code> = <br /></noinclude>{{
<noinclude><code><nowiki>{{IsSelf|{{ns:10}}|IsSelf|stacktrace=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>}}}}}}}}}:{{{stránka|{{{2|{{{strana|<noinclude>IsSelf</noinclude>}}}}}}}}}|1|0}}{{
Povinný parametr|{{{stránka|{{{2|{{{strana|<noinclude>IsSelf</noinclude>}}}}}}}}}|parametr=2 (strana)|stacktrace={{{stacktrace|{{{šablona|}}}}}}>IsSelf}}<noinclude>
Povinný parametr|{{{stránka|{{{2|{{{strana|<noinclude>IsSelf</noinclude>}}}}}}}}}|parametr=2 (strana)|stacktrace={{{stacktrace|}}}>IsSelf}}<noinclude>
----
----
Vrací 1, když usoudí, že je právě na té stránce, jako říká vstup. Jinak vrátí 0.
Vrací 1, když usoudí, že je právě na té stránce, jako říká vstup. Jinak vrátí 0.

Verze z 7. 1. 2014, 06:17

{{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|šablona= moje editovaná šablona }} = 0

OK


  • {{IsSelf|{{ns:XY}}|oveř stránku|šablona= 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}}|šablona= moje editovaná šablona }} = 0Věci přenesené přes šablony z cs:wiki Š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|šablona= moje editovaná šablona }} = 0Věci přenesené přes šablony z cs:wiki Š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|šablona= 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