Help:Parser functions in templates/es
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. |
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.
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.