MediaWiki:添加到模板时的信息框值

时间:2011-03-14 19:51:45

标签: templates mediawiki

我在mediawiki的网站上阅读了一些关于模板创建的信息。我也实现了自己的模板。我唯一的问题是,我有一个模板,它有一个信息框绑定它。每当我向信息框添加一个新项目时,我希望它反映所有与其关联的模板的页面,无论我是否在使用该模板的页面中对其进行了反对。我需要它有一个默认值。所以,基本上,当我向信息框添加内容时,每个使用此模板的页面都会自动将其显示在信息框上作为“默认”,直到它们插入自己的值。这是否可能,或者这是mediawiki上的模板做不到?

我的主要问题是:如何包含mediawiki模板并让它显示所有内容,包括未定义的变量?例如,如果将新数据添加到模板中,但尚未“填写”,则这很有用,这将表明需要插入数据。

更新10/14/2011 @ 3:30 PM CST:
这是实际模板(称为Template:EmployeeInfo):

{{Infobox
  |name         = {{{name}}}
  |title        = {{{title}}}
}}

我包含它的方式(页面称为“Employee Drew”):

{{EmployeeInfo
  |name         = Drew
  |title        = My Title
}}

现在......如果我要在模板中添加一些内容,例如,现在模板看起来像这样:

{{Infobox
  |name         = {{{name}}}
  |title        = {{{title}}}
  |education    = {{{education}}}
}}

如果每个包含Template:EmployeeInfo的页面都包含“education”部分,即使页面“Employee Drew”(和其他页面)只定义了名称和标题变量,我该如何?

3 个答案:

答案 0 :(得分:3)

我认为你的模板:信息框测试变量是空的而不显示字段?最简单的方法是在模板中指定教育变量的默认值:EmployeeInfo:

{{Infobox
  |name         = {{{name}}}
  |title        = {{{title}}}
  |education    = {{{education|default value}}}
}}

答案 1 :(得分:1)

您可以使用ParserFunctions extension来测试{{{education}}}变量是否为空,如果是,则填写信息框。

{{Infobox
  |name         = {{{name}}}
  |title        = {{{title}}}
  |education    = {{#if: {{{education}}} | {{{education}}} | N/A}}
}}

答案 2 :(得分:0)

这是旧的,但有人可能会觉得有用。对于未定义的参数,您可以在模板中定义默认值。

例如:{{{name | no name}}}

在这种情况下,如果未定义参数“名称”,则模板将输出“无名称”。

https://www.mediawiki.org/wiki/Help:Templates#Default_values