https://www.enviwiki.cz/w/index.php?title=%C5%A0ablona:IsSelf/doc&feed=atom&action=historyŠablona:IsSelf/doc - Historie editací2024-03-28T23:45:42ZHistorie editací této stránkyMediaWiki 1.40.0https://www.enviwiki.cz/w/index.php?title=%C5%A0ablona:IsSelf/doc&diff=15996&oldid=prevAdmin v 14. 5. 2016, 08:062016-05-14T08:06:58Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="cs">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Starší verze</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Verze z 14. 5. 2016, 09:06</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l16">Řádek 16:</td>
<td colspan="2" class="diff-lineno">Řádek 16:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</nowiki></pre></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</nowiki></pre></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Š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.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Šablona je [[<ins style="font-weight: bold; text-decoration: none;">w:cs:</ins>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.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* <code><nowiki>{{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona}}</nowiki></code> = {{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona }}</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* <code><nowiki>{{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona}}</nowiki></code> = {{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona }}</div></td></tr>
<!-- diff cache key wiking007:diff::1.12:old-15872:rev-15996 -->
</table>Adminhttps://www.enviwiki.cz/w/index.php?title=%C5%A0ablona:IsSelf/doc&diff=15872&oldid=prevAdmin: Založena nová stránka s textem „{{Podstránka s dokumentací}}<!-- KATEGORIE PROSÍM PŘIDÁVEJTE AŽ NA KONEC STRÁNKY --> Vrací 1, když usoudí, že je právě na té stránce, jako…“2016-05-14T04:16:40Z<p>Založena nová stránka s textem „{{Podstránka s dokumentací}}<!-- KATEGORIE PROSÍM PŘIDÁVEJTE AŽ NA KONEC STRÁNKY --> Vrací 1, když usoudí, že je právě na té stránce, jako…“</p>
<p><b>Nová stránka</b></p><div>{{Podstránka s dokumentací}}<!-- KATEGORIE PROSÍM PŘIDÁVEJTE AŽ NA KONEC STRÁNKY --><br />
Vrací 1, když usoudí, že je právě na té stránce, jako říká vstup. Jinak vrátí 0.<br />
<br />
== Použití ==<br />
Dobré jako vstup pro testování v podmínkách, typicky v šablonách:<br />
* <nowiki>{{{1|}}}</nowiki> (ns) - [[Nápověda:Jmenný prostor|namespace]], defaultně přednastaveno "", tedy NS hlavního prostoru. Zkus třeba: "<code><nowiki>{{ns:10}}</nowiki></code>" = "{{ns:10}}".<br />
* <nowiki>{{{2}}}</nowiki> (strana) - název stránky, povinný, k testu na shodu s PAGENAME, včetně případných podstránek za lomítky.<br />
<br />
Prozor, i v hlavním prostoru může dojít k selfreferenci: Například přes {{šablona|Sloučit}}, kam se název stránky zadává jako vstup. Podobně se uplatní i v šablonách pro kategorie apod.<br />
<br />
== Validace ==<br />
Výsledek se testuje pomocí wiki-syntaxe<pre><nowiki><br />
{{#ifexpr: {{isSelf|{{ns:10}}| šablona }}<br />
| stejná<br />
| jiná<br />
}}</nowiki></pre><br />
<br />
Š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.<br />
<br />
* <code><nowiki>{{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona}}</nowiki></code> = {{IsSelf|{{ns:10}}|oveř stránku|stacktrace= moje editovaná šablona }}<br />
OK<br />
<br />
<br />
* <code><nowiki>{{IsSelf|{{ns:XY}}|oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|XY|oveř stránku|stacktrace= moje editovaná šablona }}<br />
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.<br />
<br />
<br />
* <code><nowiki>{{IsSelf|{{ns:10}}|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|{{ns:10}}|stacktrace= moje editovaná šablona }}<br />
Název stránky k ověření je požadovaným vstupem.<br />
<br />
<br />
* <code><nowiki>{{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf|oveř stránku|stacktrace= moje editovaná šablona }}<br />
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.)<br />
<br />
<br />
* <code><nowiki>{{IsSelf||oveř stránku|stacktrace= moje editovaná šablona }}</nowiki></code> = {{IsSelf||oveř stránku|stacktrace= moje editovaná šablona }}<br />
OK, takto je jasné, že opravdu dostanete to, co chcete - ověření článku z hlavního prostoru.<br />
<br />
<br />
* <code><nowiki>{{IsSelf||oveř stránku}}</nowiki></code> = {{IsSelf||oveř stránku}}<br />
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.<br />
<br />
== Související šablony ==<br />
* {{šablona|isDoc}}<br />
* {{šablona|not}}<br />
* {{šablona|povinný stacktrace}}<br />
* {{šablona|Jen pro kategorie}}<br />
<br />
<includeonly><!-- KATEGORIE PŘIDÁVEJTE SEM, DĚKUJEME --><br />
[[Kategorie:Údržba:Šablony validací a chybových hlášení]]<br />
</includeonly></div>Admin