这是我的模板:测试
id1: {{{#if: {{{id1}}} | {{{id1}}} | text1}}} <br>
id2: {{{#if: {{{id2}}} | {{{id2}}} | text2}}} <br>
id3: {{{#if: {{{id3}}} | {{{id3}}} | text3}}} <br>
id4: {{{#if: {{{id4}}} | {{{id4}}} }}} <br>
<br>
这是使用此模板的TestPage页面的代码:
{{Test
| id1 = 123
| id2 =
}}
我的TestPage(用户看到的)的输出是:
id1: 123
id2:
id3: {{{id3}}}
id4: {{{id4}}}
我希望输出为:
id1: 123
id2: text2
id3: text3
id4:
我在做什么错?为什么这没有输出我想要的? 编辑: 我正在使用mediawiki版本mediawiki-1.30.0。
答案 0 :(得分:1)
如果未给出参数(例如您所包含的示例中的id3
和id4
,id2
为空但已给出),{{{id3}}}
的计算结果为文字文本{ {1}}。在{{{id3}}}
条件下,这是一个真实值。
代替使用#if
,它在管道之后具有默认值“ when not给出”,此处为空-在{{{id3|}}}
条件下被视为虚假。考虑
#if
包含您的内容会导致输出
id1: {{{id1|text1}}}<br>
id2: {{{id2|text2}}}<br>
id3: {{{id3|text3}}}<br>
id4: {{{id4|}}}<br>
由于您希望在给定参数但该参数为空时获得默认值,因此请使用
id1: 123
id2:
id3: text3
id4: