Open main menu
This page is a translated version of the page Extension:Variables and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語 • ‎한국어
MediaWiki扩展手册
OOjs UI icon advanced.svg
Variables
发布状态: 稳定版
实现 Parser function
描述 介绍页面作用的变量函数。
作者
维护者 MGChecker
最新版本 2.5.1 (2019-03-10)
MediaWiki 1.29+
PHP 5.5+
数据更新
许可协议 ISC License
下载
README
RELEASE-NOTES
翻译Variables扩展如果在translatewiki.net可用
检查使用和版本矩阵。
Vagrant角色 variables
问题 开放的工作 · 报告错误

变量(Variables)扩展允许您在一个页面定义变量,然后在同样的页面或包括的模板变化它的值,可能是通过表达式在旧值中赋予的值等。

它很像模板,只是占用内存非常少并且作用只能在1个页面,所以你可以在1个页面使用很多个变量而不需要用大数量的模板在这个wiki缓慢下来。结合解析器函数组件以达到最好的结果。

Contents

给变量赋值

#vardefine

  • {{#vardefine:变量名称|指定值}}

将值specifiedvalue分配给(已存在或由此引入的)变量variablename

  • 示例:{{#vardefine:iconwidth|25}}使iconwidth=25

#vardefineecho

  • {{#vardefineecho:变量名称|指定值}}

#vardefine完全相同,但会打印受影响的值。

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

检索变量的值

#var

变量variablename的值由。产生

  • {{#var:变量名称}}

如果未定义,会产生空字符串,不会抛出错误。

变量未定义或为空时可以定义值:

  • {{#var:变量名称 | 默认值 }}

相当于:

  • {{#if: {{#var:变量名称}} | {{#var:变量名称 }} | 默认值 }}

但这样更加简短。在版本2.0之前,默认值会自动展开。从版本2.0开始,默认值只会在真正用到时展开。

值可用于解析器函数。

#varexists

  • {{#varexists:变量名称 }} 如果变量已经定义返回1。如果没有定义则返回空。

它支持第二个和第三个参数来替换这些值。

  • {{#varexists: 变量名称 | if值 | else-value }}

这相当于:

  • {{#if: {{#varexists: 变量名称 }} | if值 | else-value }}

但它更短,更好地安排。在2.5版之前,两者都是扩展的。从2.5以后的if和else值只有在实际输入案例时才会展开。

#var_final

变量2.0中引入了实验新功能。此函数将输出变量在页面渲染结束时具有的最后一个最后一个值。当然,在解析器遍历整个wiki标记之后将插入该值,因此该函数不能用于其他函数,期望正在使用正确的值。例:

  • {{#var_final:变量名称 | 默认值}}

如果变量在最终页面呈现阶段不存在或者其值为空字符串,则将使用默认值。默认值将在使用函数的位置展开,因此即使不需要参数,也会扩展参数。

例子

解析器函数扩展必须已安装以使用#expr

计算x = 2*a + b

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

加入一个至“n”:

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

安装

  • 下载文件,并将其放置在您extensions/文件夹中的Variables目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    wfLoadExtension( 'Variables' );
    
  •   完成 – 在您的wiki上导航至Special:Version,以验证扩展已成功安装。

致使用MediaWiki 1.30或更早版本的用户:

上面的说明介绍的是安装此扩展的新方法,它使用wfLoadExtension()

如果您需要在早期版本(MediaWiki 1.30和更早版本)中安装此扩展,而不是wfLoadExtension( 'Variables' );,您需要使用:

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

兼容性

下面列出了最近MediaWiki版本的Variables扩展的推荐版本。较旧版本的扩展可能也可以正常工作,但未针对新的MediaWiki版本进行测试。

注释

参见