可以在模板上具有预定义值/仅接受某些值

时间:2015-11-06 13:39:46

标签: mediawiki wikipedia

是否可以在模板上使用预定义值?即

{{Infobox Employee
|age = {{{age}}}
|gender = {male,female}
|occupation = {nurse, doctor, caretaker}
}}

因此,每当有人使用此模板时,他们必须选择男性或女性,如果两者都没有选择任何节目。非常像html中的select。

1 个答案:

答案 0 :(得分:1)

在核心MediaWiki中,您可以使模板输出错误或忽略意外参数,但不能阻止用户输入无效值。例如。你可以在信息框中做这样的事情:

{{#switch:{{{gender}}}
| male = Male
| female = Female
| #default = <span style="color:red">Invalid gender</span>[[Category:Pages with invalid template parameters]]
}}

(此示例使用ParserFunctions扩展名中的#switch。如果没有ParserFunctions,您可以执行相同的操作,但它需要一些复杂且难以处理的模板代码。)

使用TemplateData扩展程序,您可以指定允许的值,但它只会影响依赖TemplateData的编辑器(例如VisualEditor);它不会影响人们通过明文编辑对模板做些什么。

Semantic Forms扩展程序可以显示用于编辑信息框的实际表单,其中包含选择框和您指定的任何其他内容。