2

新しいテンプレートを作成し、新しくコーディングしたインフォボックス内にリストを表示したいと考えています。これを機能させるには、このドイツ語のチュートリアルのようにコードを変更するように言われました。

これは私のテンプレートが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}}} }}
}}
4

1 に答える 1

0

{{Str left|{{{Sänger}}} }}Sängerパラメータの最初の文字です( を参照{{Str left}})。{{#ifeq: {{Str left|{{{Sänger}}} }} | * | ...パラメータがリストの場合に別のレイアウトを使用するためのある種の恐ろしいハックです。それを複製しようとしないことは、正気を保つのに役立ちます。

*改行が前にある場合にのみ、リストとして解釈されます。次のようなことを行うことで、テンプレートパラメーターから先頭の空白が削除されるのを防ぐことができます

|Sänger = <!---->
* Lady Gaga

{{{Sänger}}}または、テンプレートで改行が前にあることを確認できます。

于 2015-12-15T10:53:09.530 に答える