Semantic Mediawiki - 将变量传递给模板

Semantic Mediawiki - Passing a variable to a template

我有语义查询的结果。对于其中一个属性,逗号分隔列表,我想分隔每个项目并将其作为参数传递给模板。但是,我正在努力寻找一种方法来做到这一点。

例如;

查询:

{{#ask: [[Category:Something]] [[Has title::Somethingelse]]
| mainlabel=-
| ?Has property
| link=none
| format=template
| template=plainText
}}

纯文本模板将有结果,这是一个逗号分隔的列表。现在,我想从纯文本模板中分离逗号分隔列表并将每个值作为参数放入另一个模板中。

我试过使用 {{#arraydefine:key|values|delimiter|options}},但是当我将 {{#arrayindex:key|0}} 传递给模板时,值没有传递。整个数组以 0 分隔传递。我也尝试过使用 {{#vardefine: 等,但这也不传递变量。

我的问题归结为,如何将变量传递给模板?

谢谢,

分离需要在模板中完成。 如果你使用像这样的匿名参数 http://semantic-mediawiki.org/wiki/Template:Query_output_demo

您的参数可以像这样使用默认值获取:

{{{1|param1default}}} {{{2|param2default}}} ...

现在您的参数之一是逗号分隔列表。您可能想使用

#explode

用于获取 CSV 不同部分的解析器函数。让我们假设第二个 参数有你的 csv 那么:

{{#explode:{{{2}}}|;|0}}
{{#explode:{{{2}}}|;|1}}
...

将提供字段。

为此,您需要扩展程序

https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions##explode

并根据那里的说明启用它。