Help:Parser functions in templates/pt-br

When applying ParserFunctions to template parameters, a pipe symbol ("|") may be used to provide the empty string as default value, in order to indicate how to handle things if a parameter is not passed in. In the absence of this, an undefined parameter will not expand (i.e. will expand to  ), which is not an empty string, and thus true.


 *  


 * Exemplo A:  


 * Resultado: 


 *  


 * Exemplo B:  


 * Resultado: 


 * Comparação

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.

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

 </tt>

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