MediaWiki:使用#while函数创建表

时间:2016-01-06 17:40:28

标签: while-loop mediawiki

首先让我告诉你我当前的wiki条目是什么样的以及我设置了哪些参数:

{{tracklist|Track1=Pokerface|Track2=Yellow Submarines|Track3=Yesterday}}

我的目标是使用模板生成一个跟踪列表,该模板实际上是一个表。在左栏中必须有歌曲编号,在右栏中有歌曲名称

为了达到这个目的,我创建了一个新的wiki模板,我使用循环函数 #while 向上计数并检查是否存在具有这样一个数字的歌曲。你可以在我的文本末尾找到它。

目前,我不明白,为什么我的代码没有创建完整的表。只有第一首歌被打印出来。有人能帮帮我吗?

{|
{{#vardefine: cTrack|1}}

{{#while:
|{{{Track{{#var:cTrack}}|}}}
|
{{!}} {{#var:cTrack}} {{!!}} '''{{{Track{{#var: cTrack}}}}}'''

{{#vardefine: cTrack|{{#expr: {{#var:cTrack}} + 1}}
{{#if: {{{Track{{#var:cTrack}}|}}} | {{!}}- }}
}}
}}
|}

1 个答案:

答案 0 :(得分:1)

可能这是一些错误,我无法解释它......但我找到了解决方法:你只需要在之前添加表格行 {{!}} - 并且在表数据 {{!}} 之后。顺便说一下,不需要 if 语句。试试这个:

{|
{{#vardefine: cTrack|1}}

{{#while:
  |{{{Track{{#var:cTrack}}|}}}
  |
{{!}}-
{{!}} {{#var:cTrack}} {{!!}} '''{{{Track{{#var: cTrack}}}}}'''
{{!}}-

{{#vardefine: cTrack|{{#expr: {{#var:cTrack}} + 1}}}}
}}
|}