我在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”(和其他页面)只定义了名称和标题变量,我该如何?
答案 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