添加18,706字节
、 2021年4月20日 (二) 18:06
'''系统变量'''返回关于日期与时间、系统、页面的信息,其维基文本格式与模板非常相似,但是只有一部分系统变量接受参数。
系统变量的结果有可能被缓存,此时强制刷新页面可能可以获得最新数据。
如果有模板的名字与系统变量名重复,那么MediaWiki将会以以下规则解释之:(以模板名和系统变量名均为Foo的情况为例)
# <code><nowiki>{{Foo}}</nowiki></code>将会解释为系统变量;
# <code><nowiki>{{模板:Foo}}</nowiki></code>将会解释为模板;
# <code><nowiki>{{Foo|变量1}}</nowiki></code>将会视情况而定:
##如果系统变量Foo不接受参数,那么<code><nowiki>{{Foo|变量1}}</nowiki></code>将会解释为模板;
##如果系统变量Foo接受参数,那么<code><nowiki>{{Foo|变量1}}</nowiki></code>将会解释为系统变量;
'''注意''':部分系统变量能接受参数:
# 只能接受无命名参数;
# 第一个参数与函数名之间用冒号<code><nowiki>:</nowiki></code>分割而不是管道符<code><nowiki>|</nowiki></code>。
此页面拷贝自[https://zh.moegirl.org/Help:魔术字/系统变量 萌娘百科-Help:魔术字/系统变量],已经过本土化修改。
== 列表 ==
以下表格详细说明了语音维基可用的系统变量。'''请仔细阅读注释,注释里包含许多相当有用的说明'''。
=== 日期与时间 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:日期与时间}}" | 日期与时间<br><span style="font-weight: normal;">(此类系统变量以系统服务器时区<ref name="servertimezone" />为准)</span>
|-
| <code><nowiki>{{LOCALYEAR}}</nowiki></code><br><code><nowiki>{{CURRENTYEAR}}</nowiki></code>
| {{LOCALYEAR}}<br>{{CURRENTYEAR}}
| 当前年份<br>(日期与时间类系统变量可以将变量名的<code><nowiki>LOCAL</nowiki></code>换成<code><nowiki>CURRENT</nowiki></code>以使用UTC时区,下同)<ref>LOCAL指本地时间,在语音维基即为北京时间(UTC+8),CURRENT指UTC+0。在某些其他Wiki(如Fandom),你会发现它们是相同的。</ref>
|-
| <code><nowiki>{{LOCALMONTH}}</nowiki></code><br><code><nowiki>{{CURRENTMONTH}}</nowiki></code>
| {{LOCALMONTH}}<br>{{CURRENTMONTH}}
| 当前月份(补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALMONTH1}}</nowiki></code><br><code><nowiki>{{CURRENTMONTH1}}</nowiki></code>
| {{LOCALMONTH1}}<br>{{CURRENTMONTH1}}
| 当前月份(不补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALMONTHNAME}}</nowiki></code><br><code><nowiki>{{CURRENTMONTHNAME}}</nowiki></code>
| {{LOCALMONTHNAME}}<br>{{CURRENTMONTHNAME}}
| 当前月份(以当前语言月份名为内容)
|-
| <code><nowiki>{{LOCALMONTHNAMEGEN}}</nowiki></code><br><code><nowiki>{{CURRENTMONTHNAMEGEN}}</nowiki></code>
| {{LOCALMONTHNAMEGEN}}<br>{{CURRENTMONTHNAMEGEN}}
| 当前月份(以当前语言月份名的所有格为内容)
|-
| <code><nowiki>{{LOCALMONTHABBREV}}</nowiki></code><br><code><nowiki>{{CURRENTMONTHABBREV}}</nowiki></code>
| {{LOCALMONTHABBREV}}<br>{{CURRENTMONTHABBREV}}
| 当前月份(以当前语言月份名的缩写为内容)
|-
| <code><nowiki>{{LOCALDAY}}</nowiki></code><br><code><nowiki>{{CURRENTDAY}}</nowiki></code>
| {{LOCALDAY}}<br>{{CURRENTDAY}}
| 输出今天是几号(不补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALDAY2}}</nowiki></code><br><code><nowiki>{{CURRENTDAY2}}</nowiki></code>
| {{LOCALDAY2}}<br>{{CURRENTDAY2}}
| 输出今天是几号(补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALDOW}}</nowiki></code><br><code><nowiki>{{CURRENTDOW}}</nowiki></code>
| {{LOCALDOW}}<br>{{CURRENTDOW}}
| 输出今天是星期几(不补足前导零<ref name="zero-padded" />),以0-6代指,0指星期天,6指星期六
|-
| <code><nowiki>{{LOCALDAYNAME}}</nowiki></code><br><code><nowiki>{{CURRENTDAYNAME}}</nowiki></code>
| {{LOCALDAYNAME}}<br>{{CURRENTDAYNAME}}
| 输出今天是星期几(以当前语言星期数名为内容)
|-
| <code><nowiki>{{LOCALTIME}}</nowiki></code><br><code><nowiki>{{CURRENTTIME}}</nowiki></code>
| {{LOCALTIME}}<br>{{CURRENTTIME}}
| 当前时间(24小时制)(输出格式为“小时数:分钟数”,全部补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALHOUR}}</nowiki></code><br><code><nowiki>{{CURRENTHOUR}}</nowiki></code>
| {{LOCALHOUR}}<br>{{CURRENTHOUR}}
| 当前小时数(24小时制,补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{LOCALWEEK}}</nowiki></code><br><code><nowiki>{{CURRENTWEEK}}</nowiki></code>
| {{LOCALWEEK}}<br>{{CURRENTWEEK}}
| 输出当前第几周
|-
| <code><nowiki>{{LOCALTIMESTAMP}}</nowiki></code><br><code><nowiki>{{CURRENTTIMESTAMP}}</nowiki></code>
| {{LOCALTIMESTAMP}}<br>{{CURRENTTIMESTAMP}}
| 时间戳<ref name="timestampformat" />
|}
=== 站点技术元数据 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:站点技术元数据}}" | 站点技术元数据
|-
| <code><nowiki>{{SITENAME}}</nowiki></code>
| {{SITENAME}}
| 站点名称(由$wgSitename设置)
|-
| <code><nowiki>{{SERVER}}</nowiki></code>
| {{SERVER}}
| 站点域名URL(由$wgServer设置)
|-
| <code><nowiki>{{SERVERNAME}}</nowiki></code>
| {{SERVERNAME}}
| 输出子域名和域名(不再取决于$wgServer)
|-
| <code><nowiki>{{DIRMARK}}</nowiki></code><br><code><nowiki>{{DIRECTIONMARK}}</nowiki></code>
| {{DIRMARK}}<br>{{DIRECTIONMARK}}
| 输出站点默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用<code><nowiki>&lrm;</nowiki></code>,反之使用<code><nowiki>&rlm;</nowiki></code>)
|-
| <code><nowiki>{{SCRIPTPATH}}</nowiki></code>
| {{SCRIPTPATH}}
| 脚本(index.php、load.php、api.php等)相对路径(由$wgScriptPath设置)
|-
| <code><nowiki>{{STYLEPATH}}</nowiki></code>
| {{STYLEPATH}}
| 皮肤样式相对路径(由$wgStylePath设置)
|-
| <code><nowiki>{{CURRENTVERSION}}</nowiki></code>
| {{CURRENTVERSION}}
| 站点MediaWiki版本
|-
| <code><nowiki>{{CONTENTLANGUAGE}}</nowiki></code><br><code><nowiki>{{CONTENTLANG}}</nowiki></code>
| {{CONTENTLANGUAGE}}<br>{{CONTENTLANG}}
| 站点默认界面语言(由$wgLanguageCode设置)
|}
=== 页面技术元数据 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:页面技术元数据}}" | 页面技术元数据(以本页面为例)(<span>参数说明<ref name="pagemetadatamagicword" /></span>)
|-
| <code><nowiki>{{PAGELANGUAGE}}</nowiki></code><br><code><nowiki>{{#language:{{PAGELANGUAGE}}}}</nowiki></code>
| {{PAGELANGUAGE}}<br>{{#language:{{PAGELANGUAGE}}}}
| 返回当前页面的语言。此变量返回的语言代码可使用<code><nowiki>{{#language:...}}</nowiki></code>转换为语言名。
|-
| <code><nowiki>{{PAGEID}}</nowiki></code>
| {{PAGEID}}
| 当前页面ID
|-
| <code><nowiki>{{PROTECTIONLEVEL:</nowiki>'''操作<ref name="action" />'''<nowiki>}}</nowiki></code>
| {{PROTECTIONLEVEL:edit}}
| 输出当前页面对指定操作<ref name="action" />的保护级别<ref name="protectlevel" />。若未保护则返回空字符串
|-
| <code><nowiki>{{PROTECTIONEXPIRY:</nowiki>'''操作<ref name="action" />'''<nowiki>}}</nowiki></code>
| {{PROTECTIONEXPIRY:edit}}
| 输出当前页面对指定操作<ref name="action" />的保护时长,若时长无限则返回"infinity",否则返回结束时刻的时间戳<ref name="timestampformat" />
|}
=== 页面最新版本 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:页面最新版本}}" | 页面最新版本<ref name="lastestversion" />信息(以本页面为例)(<span>参数说明<ref name="pagemetadatamagicword" /></span>)
|-
| <code><nowiki>{{REVISIONID}}</nowiki></code>
| {{REVISIONID}}
| 页面最新版本<ref name="lastestversion" />的版本ID
|-
| <code><nowiki>{{REVISIONDAY}}</nowiki></code>
| {{REVISIONDAY}}
| 输出页面最新版本<ref name="lastestversion" />的修订日期是几号(不补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{REVISIONDAY2}}</nowiki></code>
| {{REVISIONDAY2}}
| 输出页面最新版本<ref name="lastestversion" />的修订日期是几号(补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{REVISIONMONTH}}</nowiki></code>
| {{REVISIONMONTH}}
| 页面最新版本<ref name="lastestversion" />的修订日期的月份(补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{REVISIONMONTH1}}</nowiki></code>
| {{REVISIONMONTH1}}
| 页面最新版本<ref name="lastestversion" />的修订日期的月份(不补足前导零<ref name="zero-padded" />)
|-
| <code><nowiki>{{REVISIONYEAR}}</nowiki></code>
| {{REVISIONYEAR}}
| 页面最新版本<ref name="lastestversion" />的修订日期的年份
|-
| <code><nowiki>{{REVISIONTIMESTAMP}}</nowiki></code>
| {{REVISIONTIMESTAMP}}
| 页面最新版本<ref name="lastestversion" />的修订日期的时间戳<ref name="timestampformat" />
|-
| <code><nowiki>{{REVISIONUSER}}</nowiki></code>
| {{REVISIONUSER}}
| 页面最新版本<ref name="lastestversion" />的编辑者
|-
| <code><nowiki>{{REVISIONSIZE}}</nowiki></code>
| {{REVISIONSIZE}}
| 页面最新版本<ref name="lastestversion" />的wikitext源码的大小(单位:byte)
|}
=== 站点数据统计 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:站点数据统计}}" | 站点数据统计(分隔符说明<ref name="delimiter" />)
|-
| <code><nowiki>{{NUMBEROFPAGES}}</nowiki></code>
| {{NUMBEROFPAGES}}
| 站点页面个数
|-
| <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>
| {{NUMBEROFARTICLES}}
| 内容名字空间下的页面个数
|-
| <code><nowiki>{{NUMBEROFFILES}}</nowiki></code>
| {{NUMBEROFFILES}}
| 已上传的文件个数
|-
| <code><nowiki>{{NUMBEROFEDITS}}</nowiki></code>
| {{NUMBEROFEDITS}}
| 站点编辑次数
|-
| <code><nowiki>{{NUMBEROFUSERS}}</nowiki></code>
| {{NUMBEROFUSERS}}
| 站点用户数量
|-
| <code><nowiki>{{NUMBEROFADMINS}}</nowiki></code>
| {{NUMBEROFADMINS}}
| 管理员(sysop)数量
|-
| <code><nowiki>{{NUMBERINGROUP:用户组}}</nowiki></code><br><code><nowiki>{{NUMINGROUP:用户组}}</nowiki></code>
| {{NUMBERINGROUP:bureaucrat}} (<code><nowiki>{{NUMBERINGROUP:bureaucrat}}</nowiki></code>)<br>{{NUMINGROUP:sysop}}(<code><nowiki>{{NUMINGROUP:sysop}}</nowiki></code>)
| 特定用户组中的用户总数
|}
=== 页面名称 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:页面名称}}" | 页面名称(以本页面为例)(参数说明<ref name="titlemagicword" />)(URL编码说明<ref name="urlencode" />)
|-
| colspan="3" |
;说明:
# 本部分系统变量均可选设置一个参数以获取其他页面的信息,格式为:<code><nowiki>{{</nowiki>'''系统变量''':'''页面标题'''<nowiki>}}</nowiki></code>,若不设置则默认使用'''当前页面的标题'''。
|-
| <code><nowiki>{{FULLPAGENAME}}</nowiki></code>
| {{FULLPAGENAME}}
| 包含名字空间的完整页面标题
|-
| <code><nowiki>{{PAGENAME}}</nowiki></code>
| {{PAGENAME}}
| 不包含名字空间的完整页面标题
|-
| <code><nowiki>{{BASEPAGENAME}}</nowiki></code>
| {{BASEPAGENAME}}
| 不包含名字空间和当前子页面标题的的页面标题(例如:"帮助:主页面/子页面/二级子页面"返回"主页面/子页面")
|-
| <code><nowiki>{{SUBPAGENAME}}</nowiki></code>
| {{SUBPAGENAME}}
| 子页面标题(例如 "帮助:主页面/子页面/二级子页面"中的"二级子页面")
|-
| <code><nowiki>{{SUBJECTPAGENAME}}</nowiki></code><br><code><nowiki>{{ARTICLEPAGENAME}}</nowiki></code>
| {{SUBJECTPAGENAME}}<br>{{ARTICLEPAGENAME}}
| 返回该页面的本体的完整页面名。即使是在讨论页中也会返回本体页面名(例如在“讨论:讨论板”页面中返回“讨论板”)
|-
| <code><nowiki>{{TALKPAGENAME}}</nowiki></code>
| {{TALKPAGENAME}}
| 返回该页面的讨论页的完整页面名(例如在“讨论板”页面中返回“讨论:讨论板”)
|-
| <code><nowiki>{{ROOTPAGENAME}}</nowiki></code>
| {{ROOTPAGENAME}}
| 返回该页面的根页面的不含名字空间的页面名(例如:"帮助:主页面/子页面/二级子页面"返回"主页面")
|}
=== 名字空间 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="{{anchorencode:名字空间}}" | 名字空间<ref name="namespacemagicword" />(以本页面为例)
|-
| colspan="3" |
;说明:
# 本部分系统变量均可选设置一个参数以获取其他页面的信息,格式为:<code><nowiki>{{</nowiki>'''系统变量''':'''页面标题'''<nowiki>}}</nowiki></code>,若不设置则默认使用'''当前页面的标题'''。
|-
| <code><nowiki>{{NAMESPACE}}</nowiki></code>
| {{NAMESPACE}}
| 当前页面名字空间名称
|-
| <code><nowiki>{{NAMESPACENUMBER}}</nowiki></code>
| {{NAMESPACENUMBER}}
| 当前页面名字空间ID
|-
| <code><nowiki>{{SUBJECTSPACE}}</nowiki></code><br><code><nowiki>{{ARTICLESPACE}}</nowiki></code>
| {{SUBJECTSPACE}}<br>{{ARTICLESPACE}}
| 返回该页面的本体的名字空间名称
|-
| <code><nowiki>{{TALKSPACE}}</nowiki></code>
| {{TALKSPACE}}
| 返回该页面的讨论页的名字空间名称
|}
=== 其他 ===
{| class="wikitable" style="width: 100%;"
|-
! 系统变量
! 示例输出
! 描述
|-
! colspan="3" style="background-color: #111111;" class="heading" id="其他" |其他
|-
| <code><nowiki>{{!}}</nowiki></code>
| style="text-align: center;" | <nowiki>|</nowiki>
| 返回一个管道符,它可以在模板嵌套表格或表格嵌套模板之时在被嵌套的表格/模板中代替管道符以免嵌套的模板/表格将其解析导致语法错乱,相当于<nowiki><nowiki>|</nowiki></nowiki>,例如:<pre>{|
|-
| {{colorblock{{!}}red}}
|}</pre>
更详细的信息请参阅[[mw:Template:!#template-documentation|更多]]
|}
== 注释 ==
<references>
<ref name="zero-padded">前导零指的是为了将数字补足到指定长度而在开头补上若干个零,例如8月的前导零补足是08月。</ref>
<ref name="servertimezone">系统服务器时区指的是服务器所在地区的时区或者[[mw:Special:MyLanguage/Manual:$wgLocaltimezone|$wgLocaltimezone]]设置的时区。</ref>
<ref name="timestampformat">此时间戳以YYYYMMDDHHmmss为格式</ref>
<ref name="pagemetadatamagicword">本部分系统变量接受一个额外参数,指定特定页面来代替当前页面的元信息:
* <code><nowiki>{{PROTECTIONLEVEL: move | 首页}}</nowiki></code> → {{PROTECTIONLEVEL: move | 首页}}
* <code><nowiki>{{REVISIONID:首页}}</nowiki></code> → {{REVISIONID:首页}}
'''但请注意:如果额外参数指定的页面不是当前页面时则将会是一个高开销的系统变量!'''</ref>
<ref name="action">动作指的是对页面的操作,包括edit(编辑)、move(移动)、delete(删除)、create(创建)等</ref>
<ref name="protectlevel">保护级别指的是对特定操作的可操作用户组的限制,""(空)代表没有限制,"autoconfirm"(仅允许自动确认用户)代表只有自动确认用户才可执行操作,"patrolleredit"(仅允许管理员和巡查员)代表只有巡查员和管理员才可执行操作,"sysop"(全保护)代表只有管理员才可执行操作</ref>
<ref name="lastestversion">页面最新版本指的是:该页面的最后一个修订版本(页面正常访问时显示的版本)或'''某编辑者正在预览'''的版本(该编辑者即使不保存编辑,也会刷新页面最后修订版本的缓存数据)</ref>
<ref name="delimiter">本部分系统变量返回的数字往往包含分隔符(根据页面使用语言可能是逗号或空格),将参数1设为R可以得到无分隔号的数字(例如<code><nowiki>{{NUMBEROFPAGES}}</nowiki></code> → {{NUMBEROFPAGES}}和<code><nowiki>{{NUMBEROFPAGES:R}}</nowiki></code> → {{NUMBEROFPAGES:R}})。</ref>
<ref name="titlemagicword">本部分系统变量接受一个参数1,用于指定特定页面来代替当前页面的信息:
* <code><nowiki>{{PAGENAME:讨论:讨论板}}</nowiki></code> → {{PAGENAME:讨论:讨论板}}</ref>
<ref name="urlencode">本部分系统变量可以通过在系统变量名后加一个<code><nowiki>E</nowiki></code>(例如<code><nowiki>{{PAGENAME</nowiki>'''<u>E</u>'''<nowiki>:...}}</nowiki></code>)来获得经过'''MediaWiki URL编码'''后的标题,这样的标题适合用于'''指向特定页面的链接'''中。<br>注意<code><nowiki>{{PAGENAME:...}}</nowiki></code>、<code><nowiki>{{PAGENAME</nowiki>'''<u>E</u>'''<nowiki>:...}}</nowiki></code>和<code><nowiki>{{urlencode:...}}</nowiki></code>有不同的实现方式,'''只有<code><nowiki>{{PAGENAME</nowiki><u>E</u><nowiki>:...}}</nowiki></code>才能输出符合MediaWiki URL编码规则的标题''',更细节的信息请参阅[[mw:Special:MyLanguage/Manual:PAGENAMEE encoding|MediaWiki官网的Manual:PAGENAMEE encoding]]。</ref>
<ref name="namespacemagicword"><ol><li>本部分系统变量,<u>除<code><nowiki>{{NAMESPACENUMBER}}</nowiki></code>外</u>,可以通过在系统变量名后加一个<code><nowiki>E</nowiki></code>(例如<code><nowiki>{{NAMESPACE</nowiki>'''<u>E</u>'''<nowiki>}}</nowiki></code>)来获得经过'''MediaWiki URL编码'''后的分类。</li><li>本部分系统变量接受一个参数1,用于指定特定页面的名字空间来代替当前页面的名字空间:
* <code><nowiki>{{NAMESPACE:MediaWiki}}</nowiki></code> → (空)
* <code><nowiki>{{NAMESPACE:模板:主页}}</nowiki></code> → {{NAMESPACE:Template:Main Page}}
* <code><nowiki>{{TALKSPACE:模板:主页}}</nowiki></code> → {{TALKSPACE:Template:Main Page}}
参数必须是一个页面名,即使填入的是一个名字空间名称,MediaWiki也会将其作为页面名处理:
* <code><nowiki>{{SUBJECTSPACE:帮助讨论}}</nowiki></code> → (空)</ol>
</ref>
</references>
[[分类:Wiki帮助]]