我创建了一个新模板,并希望在新编码的信息框中显示一个列表。为了实现这个目标,我被告知要修改代码,就像在这个德语教程中一样。
这就是我的模板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
|-
{{#if: {{{Sänger|}}} | {{!}} '''Sänger/in''' {{!!}} {{{Sänger}}} }}
}}发布于 2015-12-15 10:53:09
{{Str left|{{{Sänger}}} }}是Sänger参数的第一个字符(参见{{Str left}})。当参数是列表时,{{#ifeq: {{Str left|{{{Sänger}}} }} | * | ...是一种可怕的使用不同布局的黑客;不尝试复制会帮助您保持理智。
只有在前面有换行符的情况下,*才会被解释为列表。通过执行以下操作,可以防止从模板参数中剥离前导空格
|Sänger = <!---->
* Lady Gaga或者,您可以确保模板{{{Sänger}}}前面有一个换行符。
https://stackoverflow.com/questions/34278716
复制相似问题