Help:Parser functions in templates/cs

Při použití ParserFunctions na parametry šablony lze použít symbol svislé čáry ("|") k poskytnutí výchozí hodnoty, která se použije, když parametr není definován. Při použití ve funkci analyzátoru #if bude neexpandovaný text z parametru undefined vyhodnocen jako pravdivý, což může být neočekávaný výsledek.




 * Ukázka A:


 * Výsledek:




 * Ukázka B:


 * Výsledek:

Druhé použití (, vzorek B) s aktuální prázdnou výchozí hodnotou je často požadovaným způsobem, jak zvládnout situace, kdy parametr existuje, ale je složen pouze z prázdného místa.



Testování a předávání nedefinovaných parametrů
Chcete-li odlišit možný prázdný parametr od nespecifikovaného, porovnejte jej sám se sebou pomocí  a různé výchozí hodnoty. Nezáleží na tom, jaké jsou výchozí hodnoty, pokud se liší, takže se obvykle volí krátké. Všechny následující fungují ekvivalentně:



Ve vzácných případech se šablona chová jinak, když parametr není specifikován, než když je zadán, ale je prázdný. Když tuto šablonu používá šablona obalu (která používá stejnou sadu pojmenovaných parametrů), jedním ze způsobů, jak zajistit, aby nedefinované parametry zůstaly nedefinované, je následující (technika funguje také s číslovanými parametry):





obdrží definovaný normal_parameter ve všech případech. Když je normal_parameter definován, ale prázdný, a když není definován,  obdrží prázdný normal_parameter.

Naproti tomu  přijímá definovaný sensitive_parameter pouze, když je skutečně definován. Když sensitive_parameter není definován,  změní název parametru na sensitive_parameterNULL. Aby to správně fungovalo, název parametru s příponou musí být pro  bezvýznamný.



Související odkazy

 * Rozšíření:Loops#forargs
 * Rozšíření:Loops#forargs
 * Rozšíření:Loops#forargs