如果模板中没有设置参数,则隐藏标签。 (解析器函数)
Hide label if there are no parameters set in template. (Parser functions)
我有一个这样的信息框
{{Infobox
|name = {{{name}}}
|status = {{{status}}}
|-
|! style="text-align:center; color:white; font-size:1.4em; line-height:1.3em; background:#827f75" colspan="2" {{!}}Contacts
|-
{{#if:{{{Person1|}}}|
{{!}} Person1
{{!}} {{{Person1}}}
|-
{{#if:{{{Person2|}}}|
{{!}} Person2
{{!}} {{{Person2}}}
}}
我遇到的问题是即使没有为 "Person1" 或 "Person2" 设置参数,标签 "Contacts" 仍然可见。这是我尝试过的。
{{#if:{{{Person1}}} or {{{Person2}}}|
{{!}} style="text-align:center; color:white; font-size:1.4em; line-height:1.3em; background:#827f75" colspan="2" {{!}}Contacts
}}
但是由于某种原因这不起作用,它总是打印出标签,就好像声明总是正确的。
如果条件不为空,if
计算真分支,反之亦然。同时,如果未提供此参数,{{{parameter}}}
计算出相同的字符串 ("{{{parameter}}}")。为了将其评估为空字符串,您需要提供一个空的默认值:{{{parameter|}}}
。此外,or
在这里既不需要也没有帮助,因此结果表达式应该是:
{{#if:{{{Person1|}}}{{{Person2|}}}
或
{{#if:{{{Person1|{{{Person2|}}}}}}
有关详细信息,请参阅:
我有一个这样的信息框
{{Infobox
|name = {{{name}}}
|status = {{{status}}}
|-
|! style="text-align:center; color:white; font-size:1.4em; line-height:1.3em; background:#827f75" colspan="2" {{!}}Contacts
|-
{{#if:{{{Person1|}}}|
{{!}} Person1
{{!}} {{{Person1}}}
|-
{{#if:{{{Person2|}}}|
{{!}} Person2
{{!}} {{{Person2}}}
}}
我遇到的问题是即使没有为 "Person1" 或 "Person2" 设置参数,标签 "Contacts" 仍然可见。这是我尝试过的。
{{#if:{{{Person1}}} or {{{Person2}}}|
{{!}} style="text-align:center; color:white; font-size:1.4em; line-height:1.3em; background:#827f75" colspan="2" {{!}}Contacts
}}
但是由于某种原因这不起作用,它总是打印出标签,就好像声明总是正确的。
if
计算真分支,反之亦然。同时,如果未提供此参数,{{{parameter}}}
计算出相同的字符串 ("{{{parameter}}}")。为了将其评估为空字符串,您需要提供一个空的默认值:{{{parameter|}}}
。此外,or
在这里既不需要也没有帮助,因此结果表达式应该是:
{{#if:{{{Person1|}}}{{{Person2|}}}
或
{{#if:{{{Person1|{{{Person2|}}}}}}
有关详细信息,请参阅: