Help:Parser functions in templates/pt-br

When applying ParserFunctions to template parameters, a pipe symbol ("|") may be used to provide a default value, which is used when a parameter is not defined. 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</tt> 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.

Note também que o wrapped_template</tt> recebe um sensitive_parameter</tt> determinado e vazio apenas quando a predefinição envoltório recebe um sensitive_parameter</tt> determinado e vazio. Naturalmente, é preciso certificar-se o nome do parâmetro com sufixo wrapped_template</tt> não tenha sentido para o wrapped_template</tt> para que isso funcione corretamente.

Ver também

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