Ajuda:Parser functions in templates/pt-br
<languages/> {{#invoke:Template translation|renderTranslatedTemplate|uselang=|namespace=|template=PD Help Page|noshift=}}
Ao aplicar as ParserFunctions nos parâmetros das templates, 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.
- {{{1}}}
- Exemplo A
- {{#if: {{{1}}} | Parâmetro 1 não está definido, ou é definido e não nulo/não vazio. | Parâmetro 1 é nulo. Ele contém só seqüência(s) de caracteres vazia(s) ou quebra(s) de espaço, etc}}
- Resultado
- Parâmetro 1 não está definido, ou é definido e não nulo/não vazio.
- {{{1|}}}
- Exemplo B
- {{#if: {{{1|}}} | Parâmetro 1 está definido e é não nulo/não vazio. | Parâmetro 1 não está definido, ou é definido mas nulo. Ele contém apenas seqüência(s) de caracteres vazia(s) ou quebra(s) de espaço, etc}}
- Resultado
- Parâmetro 1 não está definido, ou é definido mas nulo. Ele contém só seqüência(s) de caracteres vazia(s) ou quebra(s) de espaço, etc
- Comparação
Exemplo de uso em uma predefinição primeiro parâmetro sem nome (1=) parâmetro com nome (param=) |
Condição de parâmetros | Exemplo A: {{#if: {{{1}}}| true| false}} {{#if: {{{param}}}| true| false}} |
Exemplo B: {{#if: {{{1|}}}| true| false}} {{#if: {{{param|}}}| true| false}} |
---|---|---|---|
{{template}} |
não definido: parâmetro não utilizado, importante para parâmetros com nome |
TRUE | FALSE |
{{template|}} .. {{template|1=}} .. {{template|param=}} |
definido, mas nulo/vazio | FALSE | FALSE |
{{template|value}} .. {{template|1=value}} .. {{template|param=value}} |
definido e NÃO nulo nem vazio |
TRUE | TRUE |
O segundo uso ({{{1|}}}, 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:
{{#ifeq:{{{v|}}}|{{{v|-}}}| v foi especificado (e pode estar vazio) | v não foi especificado }}
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):
<!-- wrapper template code --> {{wrapped_template| normal_parameter={{{normal_parameter|}}}| sensitive_parameter{{#if:{{{sensitive_parameter|}}}||NULL}}={{{sensitive_parameter}}}| ... }}
Note que o wrapped_template recebe um normal_parameter especificado, mas vazio em dois casos: quando normal_parameter é especificado e vazio, e quando normal_parameter não é especificado (porque o valor padrão vazio é então especificado pela predefinição envoltório).
Por outro lado, o wrapped_template recebe um sensitive_parameter especificado apenas quando é de fato determinado, porque o #if altera o nome do parâmetro do wrapped_template para «sensitive_parameterNULL» quando o sensitive_parameter é indefinido.
Note também que o wrapped_template recebe um sensitive_parameter determinado e vazio apenas quando a predefinição envoltório recebe um sensitive_parameter determinado e vazio. Naturalmente, é preciso certificar-se o nome do parâmetro com sufixo wrapped_template não tenha sentido para o wrapped_template para que isso funcione corretamente.
Ver também
[[Category:Extension helpPredefinição:Langcat|Parser functions in templates]]