Help:Parser functions in templates/es

This page is a translated version of the page Help:Parser functions in templates and the translation is 97% complete.
PD Nota: Cuando editas esta página, aceptas liberar tu contribución bajo la licencia CC0. Para más información mira las páginas de ayuda de dominio público. PD

Cuando aplicamos una ParserFunctions a un parámetro de un Template, puede usarse un símbolo de barra ("|") para proporcionar un valor predeterminado, que se usa cuando un parámetro no está definido. Usado en una función parser #if, el texto no expandido del parámetro indefinido se evaluará como verdadero, lo que puede ser un resultado inesperado.

Probando parámetros con y sin valores defectuosos
Parámetro {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<parámetro>|True|False}}
Descripción Ejemplo, no nombrada y nombrada {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
No definido. Más apropiado para el uso de parámetros renombrados. {{template}} {{{1}}} True False
Definido, pero vacío/nulo {{template|}}, {{template|1=}}, {{template|param=}} False False
Definido, no vacío, y no nulo. {{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Ejemplo A
{{#if: {{{1}}} | El parámetro 1 no está definido, o está definido y no es nulo/no está vacío. | El parámetro 1 es nulo. Contiene solo cadenas vacías o espacios de separación, etc.}}
Resultado
El parámetro 1 no está definido, o está definido y no es nulo/no está vacío.
  • {{{1|}}}
Ejemplo B
{{#if: {{{1|}}} | El parámetro 1 está definido y no es nulo/no está vacío. | El parámetro 1 no está definido o está definido pero es nulo. Contiene solo cadenas vacías o espacios de separación, etc.}}
Resultado
El parámetro 1 no está definido o está definido pero es nulo. Contiene solo cadenas vacías o espacios de separación, etc.

El segundo uso ({{{1|}}}, ejemplo B) con el valor predeterminado actual vacío es a menudo la forma deseada de manejar situaciones donde un parámetro existe, pero se compone solo por espacios vacíos.

Probando y pasando parámetros indefinidos

Para distinguir un parámetro posiblemente vacío de uno no especificado, compárelo con {{#ifeq:}} y «valores predeterminados diferentes». Los valores predeterminados no importan siempre que sean diferentes, por lo que generalmente se eligen cortos. Lo siguiente funciona de manera equivalente:

{{#ifeq:{{{v|+}}}|{{{v|-}}}| v fue definido (y puede ser vacío) | v no fue definido }}
{{#ifeq:{{{v|}}}|{{{v|-}}}| v fue definido (y puede ser vacío) | v no fue definido }}
{{#ifeq:{{{v|}}}|{{{v}}}| v fue definido (y puede ser vacío) | v no fue definido }}

En casos raros, una plantilla se comporta de manera diferente cuando un parámetro no se especifica en comparación con cuando se especifica pero está vacío. Cuando esta plantilla es utilizada por una plantilla contenedora -wrapper template- (que usa el mismo conjunto de parámetros nombrados), una forma de garantizar que los parámetros indefinidos permanezcan sin definir es la siguiente (la técnica también funciona con parámetros numerados):

{{wrapped_template|
normal_parameter={{{normal_parameter|}}}|
sensitive_parameter{{#if:{{{sensitive_parameter|}}}||NULL}}={{{sensitive_parameter}}}
}}

wrapped_template recibe un "parámetro_normal" (normal_parameter) definido en todos los casos. Cuando "parámetro_normal" está definido pero vacío y cuando no está definido, wrapped_template recibe un "parámetro_normal" vacío.

Por el contrario, wrapped_template recibe un "parámetro_sensible" (sensitive_parameter) definido "solo" cuando está realmente definido; cuando "parámetro_sensible" no está definido, el #if cambia el nombre del parámetro a "sensitive_parameterNULL". El nombre del parámetro con sufijo no debe tener sentido para el wrapped_template para que esto funcione correctamente.

Véase también