如何在 MediaWiki 模板中创建本地 WikiText 变量?

问题描述 投票:0回答:2

如何在 MediaWiki 模板中使用 wikitext 创建临时局部变量?

示例:

MyVar = "Banana"

{{#if: {{{2}}}
|<small>MyVar</small>
|'''MyVar'''
}}

这个扩展应该可以解决问题,但想知道是否有本地方法。

mediawiki mediawiki-templates
2个回答
1
投票

根据 MediaWiki 的有关此事的文档,MediaWiki 中有内置变量,例如

{{CURRENTYEAR}}
,以及可以创建自定义变量的扩展,例如 Variables。但是,没有定义变量的本机方法。


0
投票

正如蛛网膜所说:你天生无法做到这一点。您可以创建自己的扩展(这在大多数情况下不可行),或者使用帮助程序模板。通过这种方式,您可以将数据作为参数传递,并且在内部模板中,您可以多次重复使用该数据。我想这就是你的意图。

顺便说一句:{{#if: {{{2}}}|...|...}} 不起作用。你需要写成{{{2|}}},否则如果没有传递第二个参数,你会得到字面上的

{{{2}}}

假设您有一个模板 Foo。然后你可以创建一个辅助模板 Foo/X,并在 Foo 中使用它,如下所示:

{{Foo/X | Banana | small={{{2|}}} }}

我在大括号之间放置了一些空格,实际上,它们可能会造成破坏。

在 Foo/X 中,你写:

{{#if:{{{small|}}}|<small>{{{1|}}}</small>|'''{{{1|}}}'''}}

是的,很麻烦。但如果没有变量,就必须求助于参数。您应该避免使用变量扩展,因为它已被弃用。 Mediawiki 计划创建一个并行解析器,在这样的环境中,变量就不再起作用了。

© www.soinside.com 2019 - 2024. All rights reserved.