MediaWiki:使用 #while 函数创建 table

MediaWiki: Creating a table using #while function

首先让我向您展示我当前的 wiki 条目的外观以及我设置的参数:

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

我的目标是使用模板生成曲目列表,实际上是 table。在左栏中必须有 songnumber,在右栏中必须有 songname.

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

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

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

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

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

可能这是个错误,我无法解释...,但我找到了解决方法:您只需添加 table 行 {{!}} -前后table数据{{!}}。顺便说一句,不需要 if 语句。试试这个:

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

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

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