Help:Parser functions in templates/pt-br

Ao aplicar as ParserFunctions nos parâmetros das predefinições, a barra vertical ("|") pode ser utilizada para fornecer a string vazia como valor padrão, a fim de indicar a forma de lidar com as coisas, se um parâmetro é ou não passado. Used in an #if parser function, the unexpanded text from the undefined parameter will evaluate as true, which may be an unexpected result.




 * Exemplo A:  


 * Resultado: 




 * Exemplo B:  


 * Resultado: 

O segundo uso ( , exemplo B) com padrão vazio presente é muitas vezes a forma desejada para lidar com situações em que existe um parâmetro, mas é composto apenas de espaços vazios.

Testing and passing undefined parameters
Uma maneira de testar se um parâmetro foi especificado em uma chamada de predefinição é a seguinte:



Em casos raros, uma predefinição se comporta de maneira diferente quando um parâmetro não é especificado em relação a quando é especificado, mas vazio. Quando esta predefinição é usada por uma predefinição de envoltório (que usa o mesmo conjunto de parâmetros com nome), uma forma de assegurar que parâmetros indefinidos permaneçam indefinidos é a seguinte (a técnica também funciona com parâmetros numerados):





Note que o wrapped_template recebe um normal_parameter</tt> especificado, mas vazio em dois casos: quando normal_parameter</tt> é especificado e vazio, e quando normal_parameter</tt> não é especificado (porque o valor padrão vazio é então especificado pela predefinição envoltório).

Por outro lado, o wrapped_template</tt> recebe um sensitive_parameter</tt> especificado apenas quando é de fato determinado, porque o #if</tt> altera o nome do parâmetro do wrapped_template</tt> para «sensitive_parameterNULL</tt>» quando o sensitive_parameter</tt> é indefinido. The suffixed parameter name must be meaningless to the  for this to work properly.

Ver também

 * Extension:Loops#forargs
 * Extension:Loops#forargs
 * Extension:Loops#forargs