Mediawiki:显示列表不适用于信息框模板

Mediawiki: Displaying a List does not work with infobox template

我创建了一个新模板并想在我新编码的信息框中显示一个列表。为了让这个工作正常,我被告知要像 this German tutorial 中那样更改代码。

这是我的模板 Infobox Music 目前的样子:

|- 
{{#if: {{{Sänger<includeonly>|</includeonly>}}} |
 {{#ifeq: {{Str left|{{{Sänger}}} }} | *
  |{{!}} style="vertical-align:top;" {{!}}
'''Sänger/in'''
{{!}}
{{{Sänger}}}
  |{{!}} '''Sänger/in'''
{{!}} {{{Sänger}}}
 }}
}}

为了构建一个新列表,我在单独的 Wiki 条目中编辑了源代码,如下所示:

{{Infobox_Music
|Sänger = 
* Lady Gaga
* Michael Jackson
}}

不幸的是,当同时使用这两种设置时,我的列表会像往常一样显示第一个以 * 开头的项目。这是它在 HTML:

中的样子
<tr>
<td> <b>Sänger/in</b>
</td>
<td> * Lady Gaga
<ul><li>Michael Jackson</li></ul>
</td></tr>

我错过了什么吗? {{#ifeq: {{Str left|{{{Sänger}}} }} 这行是什么意思?

更新:这是我之前的 Infobox Music 模板的片段:

{{Infobox Music
    |- 
    {{#if: {{{Sänger|}}} | {{!}} '''Sänger/in''' {{!!}} {{{Sänger}}} }}
}}

{{Str left|{{{Sänger}}} }}Sänger 参数的第一个字符(参见 {{Str left}})。 {{#ifeq: {{Str left|{{{Sänger}}} }} | * | ... 当参数是一个列表时使用不同的布局是一种可怕的技巧;不要试图复制这将帮助您保持理智。

* 只有在前面有换行符时才会被解释为列表。您可以通过执行类似

的操作来防止从模板参数中剥离前导空格
|Sänger = <!---->
* Lady Gaga

或者您可以确保在模板中 {{{Sänger}}} 前面有换行符。