Extensión:Variables

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Variables and the translation is 56% complete.

Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어
MediaWiki extensions manual
OOjs UI icon advanced.svg
Variables
Release status: estable
Implementación Parser function
Descripción Introduce funciones del analizador para tratar con las variables de ámbito de página.
Autor(es)
Mantenedor(es) MGChecker
Última versión 2.5.1 (2019-03-10)
MediaWiki 1.29+
PHP 5.5+
Cambios de la base de datos No
Licencia ISC License
Descarga
README
RELEASE-NOTES
Translate the Variables extension if it is available at translatewiki.net
Verificar uso y versión de la matriz.
Vagrant role variables
Asuntos Tareas abiertas · Reportar un bug

La extensión Variables permite definir una variable en una página, usarla más tarde en esa misma página o en las plantillas incluidas, cambiar su valor, posiblemente a un valor dado por una expresión en términos del valor anterior, etc.

Semejante a una plantilla, aunque más ligero y su alcance es una página. Te permite emplear múltiples variables en una página sin impactar el desempeño de la wiki, como sucede cuando se maneja un gran número de plantillas. Combina esta extensión con la extensión ParserFunctions para mejores resultados.

This extension will not be enabled for wikis run by the Wikimedia Foundation (WMF).[1][2][3][4] See alternatives.

Asignar un valor a una variable

#vardefine

  • {{#vardefine:nombredelavariable|valorespecificado}}

Asigna el valor valorespecificado a la variable (que ya existe o se introduce) nombredelavariable.

  • Ejemplo: {{#vardefine:anchodelicono|25}} haciendo anchodelicono = 25

#vardefineecho

  • {{#vardefineecho:nombredelavariable|valorespecificado}}

Funciona exactamente como #vardefine, pero el valor afectado se imprime.

  • Ejemplo: making iconwidth = <code>{{#vardefineecho:iconwidth|25}}</code>

Recuperación del valor de una variable

#var

El valor de la variable nombredelavariable se produce por

  • {{#var:nombredelavariable}}

Si no definido, esto produce una cadena vacía; no da una mensaje de error.

Es posible definir un valor para el caso que la variable no está definido o está nula:

  • {{#var:nombredelavariable | valorpredeterminado }}

Esto es equivalente a:

  • {{#if: {{#var:nombredelavariable}} | {{#var:nombredelavariable }} | valorpredeterminado }}

pero es mucho más corto y mejor organizado. Aunque antes de versión 2.0, el valor predeterminado siempre estaba expandido. Desde version 2.0, el valor predeterminado solamente está expandido si realmente se usa.

El valor puede usarse en funciones del analizador, etc.

#varexists

  • {{#varexists:nombredelavariable }} returns 1 if the variable is already defined. If the variable is not defined the return value is void.

It supports a second and a third parameter to replace these values.

  • {{#varexists:variablename | if-value | else-value }}

This is equivalent to:

  • {{#if: {{#varexists: variablename }} | if-value | else-value }}

but it is much shorter and better arranged. Before version 2.5 though, both were always expanded. From version 2.5 on the if and else values only get expanded when their cases are actually entered.

#var_final

Experimental new function introduced in Variables 2.0. This function will output the final, last value a variable has at the end of the page rendering. Naturally, the value will be inserted after the parser went over the entire wiki markup, so this function can't be used in other functions, expecting the right value is being used. Example:

  • {{#var_final:variablename | defaultvalue}}

The default value will be used if the variable doesn't exist at the final page rendering stage or if its value is an empty string. The default will be expanded right where the function is used, so the parameter will be expanded, even if it won't be needed.

Ejemplos

The ParserFunctions extension must also be installed to use #expr.

Compute x = 2*a + b:

  • {{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}

Agregar uno a n:

  • {{#vardefine:n|{{#expr:{{#var:n}}+1}}}}

Instalación

  • Descarga y extrae los archivos en el directorio «Variables» dentro del directorio extensions/ existente.
  • Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
    wfLoadExtension( 'Variables' );
    
  • Yes Hecho – Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.

Para quienes usan MediaWiki 1.30 o versiones anteriores:

Estas instrucciones describen la nueva forma de instalar extensiones usando wfLoadExtension(). Si necesitas instalar esta extensión en versiones anteriores (MediaWiki 1.30 y anteriores), debes usar lo siguiente en lugar de wfLoadExtension( 'Variables' );:

require_once "$IP/extensions/Variables/Variables.php";

Compatibility

The recommended version of the Variables extension for recent MediaWiki releases is listed below. Older versions of the extensions might work as well, but aren't tested for new MediaWiki releases.

Alternatives

As this extension will not be enabled for wikis run by the Wikimedia Foundation (WMF)[1][2][3][4], here are some alternatives:

  • If you use Variables as cache for expensive operations, you can transform the section where you need them into a template and pass the required information as template parameters instead. This will work until you reach the expansion depth limit.
  • If you use Variables to do more complex template operations than possible with simple ParserFunctions, you can use Scribunto's Lua functionality instead. Note that this does not add support for global Variables. However, Extension:VariablesLua adds an Scribunto interface for the Variables store.
  • Don't use variables, instead duplicate the information you need as a variable. If that information is aquired by an expensive template call, performance may suffer. This will work until you reach the node count limit.

Véase también

References