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

时间:2015-12-14 23:51:19

标签: mediawiki mediawiki-templates

我创建了一个新模板,并希望在新编码的信息框中显示一个列表。为了实现这一点,我被告知要更改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音乐模板的片段:

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

1 个答案:

答案 0 :(得分:0)

{{Str left|{{{Sänger}}} }}Sänger参数的第一个字符(请参阅{{Str left}})。当参数是列表时,{{#ifeq: {{Str left|{{{Sänger}}} }} | * | ...是使用不同布局的某种可怕的黑客攻击;不试图复制,这将有助于你保持理智。

只有在换行符之前,

*才会被解释为列表。您可以通过执行类似

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

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

相关问题