0

我尝试了以下方法:

{{#ifeq: {{{gene.codingnature}}} | 1 | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | "1" | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | 0 | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | "0" | Yes | No }}

{{{gene.codingnature}}}为 0。输出始终为No

我也试过:

{{#ifexpr: {{{gene.codingnature}}} = 0 | Yes | No }}
{{#ifexpr: {{{gene.codingnature}}} = 1 | Yes | No }}
Expression error: Unrecognized punctuation character "{". Expression error: Unrecognized punctuation character "{".

但是,如您所见,它陷入了错误。

4

1 回答 1

0

你读过Help:Parser functions in templates 吗?

如果您只想传递一个布尔值并避免担心未定义的参数、缺少参数等,只需使用

{{#if: {{{gene.codingnature|}}} | Yes | No }}

无论您作为参数传递什么都会使其成为真的:通常人们输入“1”、“是”、“真”等,他们不必担心哪个是正确的。

如果你真的想传递一个文字字符串 1/0(例如,因为你的模板已经被这样调用了很多次),你需要为参数指定一个默认值(通常是“false”,否则删除参数将等于声明 true )。

{{#ifeq: {{{gene.codingnature|0}}} | 1 | Yes | No }}

看看它是如何呈现的:https ://www.mediawiki.org/w/index.php?title=Project:Sandbox&oldid=1636858

于 2015-05-01T13:00:37.863 回答