如果模板中未设置任何参数,则隐藏标签.(Parser函数)



我有一个类似的信息框

{{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"设置参数,"联系人"标签也是可见的。这就是我所尝试的。

{{#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|}}}}}}

有关更多信息,请参阅:

  • https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions
  • https://www.mediawiki.org/wiki/Help:Templates
  • https://www.mediawiki.org/wiki/Help:Parser_functions_in_templates

相关内容

  • 没有找到相关文章

最新更新