Jump to content

Help:TemplateData

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Help:TemplateData and the translation is 100% complete.
PD 注意:當您編輯本頁面時,即同意以CC0協議授權您的貢獻。您可以在公有領域帮助页面找到更多信息。 PD

TemplateData 是一个扩展,用于存储与wikitext模板相关的信息和参数,并使其可用于编辑界面,可以在模板编辑器中检索及呈现——所有这些都有助于用户在页面上添加和编辑模板。

自2019年4月起,模板数据功能已是維基媒體裏所有wiki上的所有用戶在添加模板時,默認的用戶體驗的一部分,即使是未註冊的用戶也一樣。 默认的代碼和可视化编辑器此二者,都以某種型式將其納入其中,如同许多脚本、工具軟體和小工具的做法一樣。 如果你想在自己的wiki上也实现这一功能,请安装Extension:TemplateData

要将模板数据添加到模板內以供此扩展使用时,需要在模板的文档页面中插入一个小而简单的JSON(會在下文解释)區块。 您可以手动执行此操作,也可以使用模板数据编辑器,这是一个图形用户界面,在安装了TemplateData扩展的wiki中,你可以在模板的「编辑」/「编辑源代码」页面裏访问。 JSON包含模板的参数列表,以及关于这些参数以及整个模板的信息(详见下文)。

当用户添加某個模板时,那些包含模板数据的模板将在用户界面中显示此信息。 在某些情况下,当您使用编辑器编辑或插入一個指定的模板时,它将改变编辑器的行为方式,讓用户可以更轻松地执行添加某個指定模板所需的步骤。

历史

模板数据最初是在2013年初开发的,且已考虑到VisualEditor ,当时正处于MediaWiki测试阶段。 可视化编辑器是维基媒体维基的主要的视觉编辑界面,模板数据使其在添加模板时有一个更有用的界面, 它立即被可视化编辑器正式支持。 从2013年到2016年,随着可视化编辑器作为默认功能被推广到各个主要的维基媒体的wiki中,模板数据也成为了它们的一部分。

2016年12月,作为是一项测试功能,可视化编辑器界面可用于编辑源代码, 称为2017 wikitext編輯器 。 这首次将模板数据的特点带到了源代码编辑中。

2018年3月,Sam Wilson开发了模板精灵 ,这是默认的维基媒体源码编辑器WikiEditor (也就是2010年的wikitext编辑器)的GUI模板编辑器扩展,旨在通过使用模板数据的信息使添加模板的过程更容易。 在2019年4月,TemplateWizard被列为所有维基媒体的wiki上的2010年wikitext编辑器的默认部分。 这意味着模板数据现在是维基媒体的wiki上可视化编辑器和源码编辑器的一个默认部分。

添加或编辑模板數據

要添加或编辑模板数据,首先导航到模板的页面,它位于「/Template:Templatename」。

检查目前的状态

在添加或编辑模板数据之前,请检查该模板是否有文档子页面。 然后检查模板是否已经包含模板数据,如果是,它是位于模板页面还是在文档子页面上。

请务必检查是否有一个子页面存在。 如果你在一个模板的主页面上添加了模板数据,同时又有一个子页面也存在模板数据,那么主页面上的模板数据将覆盖掉子页面上的数据。

帮助文档子页面

大多数维基媒体维基上的模板有两种主要的方式来存储他们的使用说明和其他不应该包含在实际模板本身的数据,比如模板应该包含的类别:

  • 绝大多数模板将使用说明和其他不属于模板页本身的数据放在文档子页上:「/Template:Templatename/doc」。 在这样的页面上,{{Documentation }}的模板将所有的/doc页面的内容都嵌入包含在模板页面上,使模板的源代码更加简洁。
    • 在有文档子页面的模板上,「模板文档」标题后面会有[查看]、[编辑]、[历史]和[刷新缓存]等链接。
  • 少数模板页面在模板的主页面上保留了该信息。 在这些页面上,你可以通过寻找‎<noinclude>标签之间出现的{{Documentation|content=来发现它。

不同的wiki可能会以不同的方式呈现这一切。 極其罕见的情況,即使你已经检查了上述所有内容,主模板页面仍然包含著文档; 就像这里,一个用户已經在「{{Documentation|」和 「|content=」之间添加一个自定义的/doc页面标题,然后又在「|content=」之后添加内容。

你也可以在页面底部寻找类似这样的通知:「上述文档是从Template:Templatename/doc中嵌入的」。

没有文档子页面的模板

如果一个模板没有文档子页,就创建它并将模板的文档移到那里(或一个占位符)。 然后你可以把模板数据添加到文档子页。

创建子页面并移动文档

在许多维基媒体的wiki上,你只有在成为注册用户若干天并进行了最低数量的编辑后才能创建一个页面。

要创建文档子页,在主模板页面上点击「编辑」/「编辑源代码」;寻找‎<noinclude>的标签及其内容(通常在底部)。

它应该看起来像这样:

<noinclude>
{{Documentation|content=
==使用==

关于使用情况的信息。

==示例的更多标题==

示例的更多內容

[[Category:Example category]]
[[Category:Example category 2]]
}}
</noinclude>

你可能也发现它已经包含了模板数据。 如果是这样,它看起来会像这样:

<noinclude>
{{Documentation|content=
...
<templatedata>
{
    "description": "",
    "params": {
        "1": {
            "label": "示例的参数",
            "description": "示例的参数描述",
            "type": "string"
        }
    }
}
</templatedata>
</noinclude>

选择「|content=」之后、「‎</noinclude>」之前的所有内容,并将其剪切到剪贴板上或保存在一个临时文件中。删除「|content=」,只留下以下内容。

<noinclude>
{{Documentation}}
</noinclude>

保存模板页面。

现在,要创建新的子页面,请看你的浏览器的地址栏,在URL的末尾加上/doc。 按↵ Enter,然后选择创建一个新页面的选项。

如果这个wiki有一个{{Documentation subpage }}的通知模板,把它加在新页面的顶部。 你也可能希望添加其他模板,例如{{Purge button }}或{{Purge }}的链接(如果有关的wiki支持的话)。

插入你在前面的文本中剪切或保存的文本(如果有的话,是在通知模板的下面)。

‎<includeonly>标签包裹任何类别,使它们只适用于模板的主页面:

<includeonly>
[[Category:Example category]]
[[Category:Example category 2]]
</includeonly>

许多的wiki都有一个{{Sandbox other}}的模板。 如果你要编辑的模板很可能存在沙盒版本(位于 「Template:Templatename/sandbox」),请在此使用该模板,以防止类别应用于沙盒页面:

<includeonly>{{sandbox other||
[[Category:Example category]]
[[Category:Example category 2]]
}}</includeonly>

最后,发布该页面。

现在你可以使用#方法中所描述的指导,在文档子页上添加和编辑模板数据。

在主模板页面上添加和编辑模板数据

如果你不能创建/doc页面,你可以按照#方法中的指导,在模板的主页面添加和编辑模板数据。

如果一个模板有一个文档子页,则同时检查主页面和文档子页是否存在模板数据(‎<templatedata>标签后面是一个大括号内的数组:{})。

另一種擇,TemplateData扩展可以幫你执行这一检查。 在任何一页上点击「编辑」或「编辑源代码」。 如果模板在任何一个页面上已经有了模板数据,你会在页面的顶部看到一个黄色的通知,上面写着的,是:

请注意:关联页面“Template:模板名/doc”上已存在模板数据代码块。

或者

请注意:关联页面“Template:模板名”上已存在模板数据代码块。

如果模板在其文档子页上有模板数据

如果该模板在其文档子页面上有模板数据,那么你应该去编辑这个文档子页面。 你可以通过点击位于标题「模板文档」(或类似的)之后的 "[编辑] "来实现,或者,如果你已经在/doc页面上,点击顶部的「编辑」或「编辑源代码」。 按照#方法的指导,添加或编辑模板数据。

如果模板在其主页面上有模板数据

如果模板在其主页面上有模板数据,你再次有两个选择:

  • 要麼,你可以移动到它的文档子页。这是首选方案。
  • 要麼,你可以在主模板页面上编辑它。

将模板数据移至文档子页

要做到这一点,请在主模板页面上点击 「编辑」/「编辑源代码」,并寻找‎<templatedata>的标签,将其包在‎<noinclude>的标签中。 它应该看起来像这样:

<noinclude>
{{Documentation}}
<templatedata>
{
    "description": "",
    "params": {
        "1": {
            "label": "示例的参数",
            "description": "示例的参数描述",
            "type": "string"
        }
    }
}
</templatedata>
</noinclude>

只把‎<templatedata>的标签和它们的内容从代码中剪掉,然后保存页面。

接下来,通过点击位于标题「模板文档」(或类似)之后的“[编辑]”来编辑文档子页。

输入一个标题,如「模板数据」,然后在其下方粘贴模板数据。

你现在可以根据#方法的指导编辑模板数据。

在主模板页上编辑模板数据

如果你不希望把模板的数据移动到/doc页面,你可以在模版的主要页面上编辑它 参见#方法以学习如何编辑模板数据。

如果这个模板还没有模板数据但是有一个doc子页面

如果这个模板还没有模板数据,你应该将其添加到文档子页面。

你可以通过点击位于标题“模板文档”(或类似的)之后的 “[编辑] ”来实现,或者,如果你已经在/doc页面上,点击顶部的“编辑”或“编辑源代码”。 输入一个标题,如“模板数据”,然后在其下方粘贴模板数据。 #方法章节解释了如何编辑模板数据。

方法

模板數據編輯方法

这是添加或编辑模板数据的一个简单的方法,推荐经验不足的用户使用。

模板数据编辑器是一个图形化的编辑器,可用来添加或编辑模板数据。 这是 TemplateData 拓展的一个片段,点击“编辑”或“编辑源代码”能用于所有的模板页面(或文档子页面)。

点击“编辑”或“编辑源代码”后,你将会看到编辑区上面的一个按钮和标题页面“编辑模板数据”。

點擊該按鈕就可以進入模板數據編輯器。 如果您所在的頁面已經包含了模板數據,則會自動顯示在這裡。

模板数据编辑工具的截图。

上述窗口中的功能:

  • 顶部项目选择界面文本的语言。它允许您输入多种语言的文本内容,根据用户在首选项中的设置向用户显示,不基于wiki的语言;不同的维基有完全不同的模板数据库。 如果不存在语言模板数据,界面将仅向用户提供wiki自己的语言,但用户可以单击“添加语言”添加更多输入。 语言代码将会显示在可以应用它的参数旁边的括号中,例如描述和标签。
  • 下一项是模板说明。这是整个模板的描述;添加模板时,它会在模板编辑器中的许多位置向用户显示。此参数及其效果概述在此处
  • 第三项控制模板的维基文本格式。此参数确定当用户点击“应用”时wiki文本的布局方式,两种主要类型是"inline"(在一行上)和"block"(在新行上)。此参数及其效果概述在此处
如果用户选择了“自定义”,那么他们可以自定义列出的以下规则,在“自定义格式字符串”中输入wikitext,然后点击“应用”,以创建模板的一个自定义的布局。
  • 第4项配置了模板的参数。 如果模板数据中已经定义了参数,那么此区域会以列表显示这些参数。 如果模板的源代码指定了模板数据中还不存在的参数,你可以看到“添加2个推荐的参数”按钮。 编辑器会在模板的源代码中寻找{{{parametername}}}{{{parametername|}}},然后导出这些建议。 点击添加2个推荐的参数会添加这些参数,使用其在源代码中定义的名称。 顶部将会出现一个绿色的通知,例如“2个新参数已导入:参数名称
  • 在窗口的底部,你会看到一个“添加参数”按钮,这可以让你手动添加一个自定义名称的参数。

点击列表中的任意一个参数,进入下一步,然后就可以编辑参数的信息。

範本資料編輯器的螢幕截圖,顯示參數選項

#参数名称内一节会介绍所有这个功能以及其效果。

* 模板数据编辑器不会允许你将参数改变为一个空白的“名称”。 但是,在带有TemplateWizard的2010 wikitext编辑器中,有些模板数据会获取空白的字符串作为名称,而不导致问题,但是可视化编辑器和2017 wikitext编辑器均不会显示它们。 这是模板数据编辑器中唯一必填的字段。
  • 点击“移除参数信息”会从模板数据中删除参数以及其所有的信息。然后,除非点击“X”,否则你无法在模板数据中找回或者撤销。在点击“应用”后,你可以按Ctrl+Z以撤销更改。
  • 在作出更改后退出模板数据编辑器,会弹出一个提示,让你确认是否要丢弃所有的更改。

完成后,点击“应用”。 这会自动将模板数据插入到页面底部,‎</noinclude>标签之前,或者,如果已经存在,则会更新其内容而不改变其位置。 点击“应用”,模板数据文本也会被选中。

模板数据编辑器会在模板数据的底部创建一个"paramOrder"参数(或者,如果已经存在,则更新这个参数)。 "paramOrder"包含了当前的模板数据参数,按照在模板数据编辑器中显示的顺序出现。 你哥心在模板数据编辑器中,使用左侧的三个横线图标,将其向上或者向下拖动,以改变"paramOrder""paramOrder"及其影响记录如下

然后,点击“保存”以保存更改。

手动方法

你也可以手动添加和编辑模板数据。 模板数据是用JSON编写的,但你并不需要学习JSON就可以学习如何创建模板数据。 模板数据遵循少量简单的规则,仅接收少量可行的预定义的参数和值,基本上是"parameter": "value"的格式。

手动添加模板数据

需要考虑的地方:

  • 如果你是在模板的文档子页面添加模板数据(推荐这么做),你可以添加到页面的任何地方;检查你所使用的语言的维基百科有没有推荐把模板数据存放在哪个地方。例如,在英语维基百科,模板数据通常接近文档页面的底部,而在德语维基百科,通常在顶部。
  • 如果你是在模板的主页面(不推荐这么做,请看#优先检查),你必须确保其在‎<noinclude>...‎</noinclude>标签内。

点击“编辑”或“编辑源代码”,然后移到到你需要添加模板数据的地方,添加一个章节标题:“模板数据”。

很多wiki都有个{{TemplateData header }}模板,添加一个关于模板数据的短的提示。如果你有wiki有,可以在标题后添加一个。

要开始添加模板数据,输入一个开头的‎<templatedata>模板,以及在新的一行上的一组花括号,中间空一行。

<templatedata>
{

}
</templatedata>

然后,在两个花括号之间的空行上添加缩进,开始添加参数。参数的细节请参见#模板数据参数。大多数都是可选的,有些是强烈推荐使用的。

参数可以是任何顺序,但是下面的是符合模板数据文档且让读者更加容易使用的顺序。

<templatedata>
{
    "description": "",
    "format": "",
    "params": {
        "parameter1": {
            "aliases": ["",""]
            "label": "",
            "description": "",
            "type": ""
        }
    },
    "paramOrder": [
    	""
    ]
}
</templatedata>

确保参数,例如在"params"对象内,保持在这个对象中。否则,保存时就会触发“意外的属性“propertyname”。”。

示例

下面是个假设的清理模板的一些示例模板数据。 此类模板将显示一条通知,并根据输入的月份和年份将页面放入带有日期的类别中。 这个通知可能还包含一个讨论页章节的链接。模板数据看上去应该会是这样子:

<templatedata>
{
	"description": "使用此模板以表示一篇文章需要清理。",
	"format": "inline",
	"params": {
		"date": {
			"label": "月份和年",
			"description": "添加模板的月份和年",
			"type": "string",
			"autovalue": "{{SUBST:CURRENTMONTHNAME}} {{SUBST:CURRENTYEAR}}",
			"example": "2013年1月",
			"suggested": true
		},
		"reason": {
			"aliases": ["1"],
			"label": "原因",
			"description": "文章需要清理的原因",
			"type": "string"
		},
		"talk": {
			"aliases": ["talksection"],
			"label": "讨论页章节",
			"description": "包含有关讨论的讨论页章节",
			"type": "string"
		}
	},
	"paramOrder": [
		"date",
		"reason",
        "talk"
	]
}
</templatedata>

对应的模板数据看起来会像是这样子:

使用此模板以表示一篇文章需要清理。

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
月份和年date

添加模板的月份和年

Example
2023年1月
Auto value
{{SUBST:CURRENTMONTHNAME}} {{SUBST:CURRENTYEAR}}
Stringsuggested
原因reason 1

文章需要清理的原因

Stringoptional
讨论页章节talk talksection

包含有关讨论的讨论页章节

Stringoptional

模板数据参数

下面列出了所有可用的模板資料參數(即 wiki 原始碼中標籤 <templatedata>...</templatedata> 之間的參數),並附有說明和範例。 扩展:TemplateData#格式中更新详细地列举出了一些技术细节。

  • 此信息当前是针对2021年11月版本的,如果加入了新的参数或者模板编辑界面更新以支持现有的参数或者对特定参数以不同方式处理了,则有可能改变。
  • wiki标记在标签和描述中不起作用。 只能是严格的纯文本。
  • 描述、标签、示例或默认中的新行(“\n”)不会显示在任何的主要编辑器(TemplateWizard、可视化编辑器或者2017 wikitext编辑器)中,即使在自动生成的模板数据文档中会显示。 在输入框中,会被替换为null,其他地方则替换为空格。
参数 描述 示例
description

"description"参数描述了这个模板是做什么的。 可选,但高度推荐。

效果

在模板文档页面中,描述会以纯文本的形式,显示在“[模板名称] 模板数据”小标题的下方。

在所有的主要编辑器(VisualEditor 2017 wikitext編輯器 和带有TemplateWizardWikiEditor )中,模板会在以下两个例子中显示:

  • 在搜索模板时,显示在每每条建议的模板名称下方

在将参数的值添加到模板时,显示在模板编辑器中的模板名称的下方。

在可视化编辑器和2018版wikitext编辑器中,在每个搜索建议中,描述会被截为50个字符,然后是“...”,但是在主要的模板编辑器窗口中,描述会完整显示。 两个都是以灰色文本展示的。

在主模板编辑器窗口中,超过4行(大约540个字符)的描述会提供一个单独的滚动条,并显示为黑色的文本。

如果没有指定

如果描述参数不存在或者没有指定,那么“[模板名称]模板数据”下方的模板数据文档内,会显示文本“无描述。”。 此外:

  • 在可视化编辑器和2017版wikitext编辑器中,其表现会和模板没有模板数据时相同,不显示描述,而是显示:
“Template:模板名称模板还没有描述,但是其模板页面可能会包含一些信息。”
  • 在带有TemplateWizard的2010版wikitext编辑器中,描述所在的地方(除了搜索建议)中会显示以下文本:
“不存在此模板的描述。”
这与模板数据不存在时的两个标准的占位描述不同:
  • “由于没有模板数据,此模板的参数是自动生成的。 请注意这可能不准确。”
  • “由于没有模板数据文档,无法确定此模板的参数。 你可以插入此模板而不带参数。”
"description": "用于链接到贡献资源分类",
format

"format"参数描述了模板的wikitext如何排版。 这可以设置为"inline""block"的标准格式,或自定义格式;参见下文以获取更多详情

这个参数不是必需的,但是推荐使用。 此参数不存在时的默认行为是为已经存在的参数保留原有的格式,或者,对于新添加的参数和模板,使用行内格式。

效果

行内: ("inline")

插入时,模板会将wikitext显示为一行,元素之间没有空白字符,就像这样:

{{Foo|bar=baz|longparameter=quux}}

块: ("block")

插入时,模板会将每个参数放在单独的一行上,每个元素之间都有一个空格,就像这样:

{{Foo
| bar = baz
| longparameter = quux
}}

自定义格式:

如果参数设置为自定义的wikitext字符串,就像#自定义格式中列举的每个规则,那么模板会根据指定的wikitext来组织其wikitext。

"format": "inline"
params

"params"对象包含模板的每个参数的信息。这是必需的,其参数可参考#在参数内段落。

这个对象应该包含每个参数的名称,然后是一组模板数据的子参数(sub-parameters),列举在#在参数名称中

如果有多个参数,在每个参数对象之间加一个逗号,但不要在最后一个大括号后加一个逗号(见示例)。

"params": {
    "parameter1": {
        ...    // 参数信息
    },      // 注意此处的逗号
    "parameter2": {
        ...    // 参数信息
    },      // 以及此处
    "parameter3": {
        ...    // 参数信息
    }       // 但不是这里
}
paramOrder

"paramOrder"是可选的对象,在模板编辑器中添加时,会使模板的参数以特定的顺序显示。

如何使用

添加参数"paramOrder",然后是一个冒号,空格,以及左方括号,然后输入模板的每个参数,写在英文半角双引号(")中,且要按照你期望的顺序,并用逗号隔开。 然后以结束的方括号结尾(创建一个数组)。

参数不需要是在新的一行中(可能写为"paramOrder": ["param1","param2","param3"]),但是通常写成新行以增强可读性。

我们推荐你将"paramOrder"添加到"params"的后面,就像模板编辑器做的那样,这不会显示在模板数据文档中,但是会强制参数的顺序。 未来的编辑器可能会更快地浏览参数细节,但编辑它们,而不是扫过"paramOrder",尤其是有很多参数的时候。 如果你确实选择将paramOrder放置在模板数据之外的其他地方,加个逗号。

你必须在模板数据中,包含提及的每一个参数,否则就会显示“未找到必需的属性“propertyname”。”。

如果没有指定

没有"paramOrder",模板的参数会以模板的源代码声明的方式显示,如果源代码包含对象内的对象,那么外层对象内的参数会显示在前面,然后是内层对象的。

带有其他参数

在带有TemplateWizard的2010版wikitext编辑器中:

  • "required"参数永远显示在顶部,忽略"paramOrder"的顺序。
  • "suggested"启示显示在第二个,在"optional"的上面。
  • "deprecated"参数在此编辑器中完全不会显示,更多信息请见"deprecated"
  • "paramOrder"只会强制这些类别中的顺序(例如,所有的"required"参数都以"paramOrder"指定的顺序显示,然后所有的"suggested"参数也是如此,但所有的"suggested"参数会显示在"required"参数的下面)。

在可视化编辑器和2017版wikitext编辑器中,"paramOrder"会强制其顺序,而忽略每个参数的状态。

"paramOrder": [
	"date",
	"reason",
	"talk"
]

参数 params

参数 描述 示例
参数名称

params对象唯一的一级对象,是模板的参数的名称。

例如,在模板的源代码中,{{{date}}}表示参数,添加在带有"date""params"下方。

你也可以看到叫做{{{1}}}或者其他数字的参数(其模板数据,比如说,应该像这样:"1")。 像这样的参数会在用户插入模板时,避免需要输入参数名称和等号(例如,|value|,而不是|parametername=value|)。 有多个未命名的参数时,其数字表示其未命名参数指代的顺序。 比如:

{{example template|value1|value2}}

value1是参数{{{1}}}的值,value2是参数{{{2}}}的值。 相应地描述你的模板数据参数。

注意:用户仍然可以强制使用{{{2}}}而不使用{{{1}}},方法就是在模板编辑器中插入一个叫做2的参数,或者在wikitext中输入|2=。 最后,注意"aliases"会创建参数名称的替代,这些参数名可以互相换着使用,"label"会将参数在用户界面中显示的名称替换为指定的标签(用于参数名称不是人类可读或者难以理解的情况)。

如何使用

每个参数名称对象都应该包含参数的所有信息,形式是更多的模板数据参数。 这些列举在以下段落中,即在参数名称中

"1": {     // 参数名
    ...    // 此处为参数信息
}

在参数名称中

参数 描述 示例
aliases

"aliases"参数是可选的,允许模板参数有多个名称。 要检查这个,你可以看看模板的源代码,找找有没有这样的:

{{{parameter1|{{{parameter2}}}}}}

或者

{{{parameter1|{{{parameter2|}}}}}}

这意味着,如果用户插入了这些值的任何一个,那么其效果都是一样的。 或者说,你可以这样理解:“parameter1的值。如果parameter1不存在或者没有值:parameter2的值。” 在第二个例子是,这也意味着:“如果parameter2不存在或者没有值:没有值”。

要添加"aliases"参数,添加文本"aliases"然后是一个冒号、空格和一个左方括号,然后输入在引号中输入每个参数的别称,用逗号隔开。 以右方括号结尾,创建一个数组。

"aliases": ["1", "talk", "talksection"],
inherits

"inherits"是一个可选的参数,用于模板数据应该继承另一个参数的所有模板数据时。 这可以被指定了继承参数的任何参数覆盖。

要使用这个参数,输入"inherits" :,然后是另一个模板数据的名称,比如"talk""1"。 然后,如果您愿意,可以为下面的参数输入另一个特定设置,就像"label" : "A different label"。 第一个参数会继承第二个参数的属性,除了这个。

    "params": {
        "话题1": {
            "label": "话题",
            "description": "一个在该消歧义页面被提及的话题",
            "type": "string"
        },
        "话题2": {
            "inherits": "话题1"
        },
        "话题3": {
            "inherits": "话题1",
            "label" : "A different label"
        }
    }
label

"label"参数是人类可读的中文名称,这个名称将会在可视化编辑器中显示。 这个标签总是会显示,替代参数的原始名字,包含在wikitext中使用了别称时。 这个参数是可选的,但高度推荐。

"label": "月份和年",
description

这里,"description"参数描述,不是整个模板的。 这个描述出现在参数名称下面(长的描述会缩短,有个按钮可以展开它)。 可选,但高度推荐。

"description": "添加模板的月份和年",
type

参见#类型参数章节。

default

有些模板参数有默认的值,使用这个值,除非被用户覆盖。 "default"项是可选的项,仅用于记录,告诉用户这个默认值。 这个值应该匹配实际的默认值(如果有),且没有实际效果。 (不要混淆了"autovalue",它是实际效果的参数,会为用户填充到字段中。)

效果

在所有主要的编辑器(可视化编辑器,2017版wikitext编辑器,以及带有TemplateWizard的2010版编辑器)中,"default"文字会在输入框中显示为灰色的文本,仅在内容为空时显示,显示格式为“默认:默认文本。 此外,它还会在参数描述(在用户悬停在“i”符号时)中显示纯黑色文本。 在可视化编辑器和2017版wikitext编辑器中,这会显示在参数描述的下方,在“字段是必需的”“字段是弃用的”(如果指定了)的下方(2010版wikitext编辑器不显示这个文本),在“示例”(如果指定了)的上方(2010版wikitext编辑器中,"example"不会在参数描述中显示)。 在带有TemplateWizard的2010版wikitext编辑器中,"default"文本直接显示在参数描述的后面,同一行内,空格后面。 其他编辑器中也是以相同的格式显示 (“默认:默认文本)。

带有其他参数

在所有的主要的编辑器(可视化编辑器,2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,如果指定了"default",那么"example"值不会在输入框中显示。

"default": "Category:CommonsRoot",
autovalue

参数可以指定一个"autovalue"(自动值)。 当用户在页面中添加模板时,此值会自动显示在输入框中。 例如,很多的清理模板都需要添加日期,将模板的date参数的"autovalue"设置为{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}},模板被添加时的月份和内会被自动填入。

此值可以被模板编辑器中的用户覆盖。

带有其他参数

在所有的主要的编辑器(可视化编辑器,2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,"autovalue"会在可视化编辑器和2017版wikitext编辑器中覆盖"url"的视觉效果。 更多信息请参见"type"的描述.

"autovalue": "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}"
example

"example"参数是可选的,仅用于记录,其值包含一个例子,帮助模板的用户理解填入此参数的正确方式(不要与"suggested"混淆了,具体请参见那一条)。

效果

在所有的主要的编辑器(可视化编辑器,2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,这个参数会显示在参数描述的下方(且"default"文本的下方,如果指定了)。

带有其他参数

在所有的主要的编辑器(可视化编辑器,2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,如果指定了“default”,那么输入框中不会显示"example"

"example": "January 2013",
suggested values

这个参数属性suggestedvalues会让你定义参数值的列表,这些参数会显示在可视化编辑器的下拉菜单中,供用户选择。你可以直接在JSON中完成,也可以使用模板数据编辑器(不需要编写代码)。 你可以添加需要显示在可视化编辑器中的建议值,并使类型设置为以下选项中的一个(参考):

  • 内容
  • 单行文本
  • 字符串
  • 数字
  • 未知
  • wikitext片段

当前不支持其他类型(file, page, template, user, date, boolean, URL),因为在可视化编辑器中已经有了其他的特殊功能,例如自动完成,这会在可视化编辑器中干扰建议值的下拉菜单的使用。

在wikitext中,作为JSON编辑模板数据

要给任意参数类型添加建议值,在JSON中给参数添加新的属性"suggestedvalues"。“suggestedvalues”属性必要是字符串的列表。

在模板数据编辑器中编辑模板数据

  1. 点击“编辑模板数据”。
  2. 点击你需要添加建议值的参数的名称。
  3. 将参数的类型设置为以下中的一个(如果还没有完成的话),然后会显示新的输入字段推荐值。如果参数已经设置为这些类型,那么这个输入字段应该已经可见。
  4. 在建议值中输入,包括空格和特殊字符,然后按下enter以在列表中添加值。

效果

当这些值添加到模板数据之后,可视化编辑器对于上述列出的参数类型,会在组合框中显示这些值(下拉菜单,用户也可以输入自定义的值)。用户点击需要的值以将其选择。如果这个值的列表太长——例如,国家的州或省份的列表——那么用户可以在栏中先开始输入,列表会被筛选为仅显示包含输入的文本的值。要改变输入的值,用户必须简单地清除掉字段内容,然后完整的下拉菜单会再次出现。如果用户需要输入不在列表中的值(例如,“瓶子里的消息”),可以手动输入。

	"suggestedvalues": [
		"期刊",
		"书",
		"报纸",
		"杂志"
	]
狀態選項 描述 示例
required

接下来是"required",只可为true(真)、false(假)两种。 未指定时,值默认为false

它决定了填写给定的参数对模板来说是否是强制性的。

效果

这个状态在可视化编辑器和2017 wikitext編輯器 中有几个效果:

  • 用户插入模板时,会自动显示这个参数;
  • 在输入框内的右侧显示一个黑色的星号;
  • 参数描述的下方显示灰色斜体的文本“必填字段。”;
  • 输入用户点击了但没有输入值,输入框会有红色的发光;
  • 如果用户尝试插入模板,但有些必需的值没有提供,会显示一个弹窗,问用户是否确定。 如果确定,会插入参数并带有空值。 但是,这不会阻止插入模板,并且它本身不会导致可见错误(尽管可以将模板编写为在未填写必需的参数时显示错误)。

在带有Extension:TemplateWizard WikiEditor 中,就像在其他的编辑器中,当用户插入模板时,会自动显示参数,但是参数无法通过这个或者任何编辑器移除。 参数描述中也不会显示“必填字段。”,但是会在“必需参数”下的一侧中列举参数。 除了这个之外,通常和在其他的编辑器内表现一样,除了弹窗的内容会说输入内容“不符合预期的格式”。

带有其他参数

在可视化编辑器和2017版wikitext编辑器中,"deprecated"状态不会覆盖参数的行为,但是在带有TemplateWizard的2010版wikitext编辑器中是会的。 更多信息请参见"deprecated"的描述。

"required": true
suggested

接下来是"suggested",只可为true(真)或false(假)。 当未指定时,默认为false

"suggested"表示参数不是必需但是是强烈推荐模板的用户提供的。填充此参数时,用户会看到建议。

效果

在可视化编辑器和2017 wikitext編輯器 中,这会导致参数在用户插入模板时自动显示。 如果参数设置了autovalue(自动值),则也会自动显示在参数的输入框中。 没有其他的效果,也不显示额外的文本或者警告。

在带有TemplateWizard的WikiEditor 中,不会自动在模板中放置参数,但是会导致“推荐参数”下的一侧中列举出来。 用户可以点击参数旁的+以将其添加到模板。

带有其他参数

在所有的主要的编辑器(可视化编辑器、2017版wikitext编辑器和2010版wikitext编辑器)中,"required"状态会覆盖此状态的功能。 它也会覆盖模板数据文档中显示的"suggested"状态(如果"required"和"suggested"都设置为true,会显示"required")。

"suggested": true
deprecated

最后,有"deprecated",此处可以设置为truefalse或一个描述用户应该做什么的字符串。 当未指定时,默认为false

这是一个不应再被使用的参数的状态,但仍然暂时存在。 这可能是因为此模板的使用正在从一套参数被移动到另一套。

效果

此参数在可视化编辑器和2017彼wikitext编辑器的效果是,当插入时,参数的标签的旁边会显示灰色的感叹号标志,在参数的信息提示中,参数描述的下方会显示灰色、斜体的文本“字段已弃用。弃用的原因”。 这不会影响参数的实际效果或可用性,也不会显示额外的警告。

尽管可以接收一个字符串,但是自2020年1月,主要的编辑器(可视化编辑器、2017版wikitext编辑器和2010版wikitext编辑器)均不会在任何地方将这个字符串的内容显示给用户。 输入字符串的效果和true是一样的。

在带有TemplateWizard的2010版wikitext编辑器中,设置这个值为true将不会允许参数被添加或者显示。

带有其他参数

如果你将这个和"suggested"都设置为true,那么参数的状态在模板数据文档中会显示为"deprecated",但是在可视化编辑器和2017版wikitext编辑器中,所有的功能都会保留;参数在用户插入模板时会自动显示,但是旁边会有"deprecated"警告。

如果你把这个和"required"都设置为true,参数的状态在模板数据文档中会显示为"deprecated",但是在可视化编辑器和2017版wikitext编辑器中,会有仅和"required"一样的功能;参数会在插入模板时自动显示,旁边会显示"required"警告。 对于将"deprecated""suggested""required"均设置为true的情况也是如此。

在带有TemplateWizard的2010版wikitext编辑器中,"deprecated"覆盖了参数"required""suggested"

"deprecated": "请使用publicationDate。"

注意:如果对于一个参数,"required""suggested""deprecated"都没有设置为true,那么其状态在模板数据文档中会显示为"optional"(可选)。

一旦您完成,点击“保存”即可。如果出现了错误,它将不会让您保存(这或许是破坏,但意思是您不能损坏任何东西)。如果您遇到错误,在反馈页面介绍您要尝试进行的操作,并且我们将很高兴帮助。

注意:如果你在滥用一个hack模板以动态地生成模板数据,那么保存之前无法检查错误。

请注意:信息的每项都被引号包围(truefalse除外),且并用逗号与下一项分开(除非这是最后一个)。

类型参数

"type"参数控制可视化模板编辑器如何解读参数。 在有些情况下,模板的编辑器被编写为,根据这个模板数据的值,这特定的参数修改用户界面,例如仅允许用户输入符合指定类型的有效值。 这个参数在其模板数据或值上没有实际效果,只控制了模板编辑器在编辑模式中如何看待和对待这个参数。

如何使用

用法就是,添加"type"参数,然后是冒号和空格,然后在引号中添加下表中列举出的任何一个值。

例如:

"type": "string",

效果

在2020年2月,13个类型中只有5个是在可视化编辑器和2017版wikitext编辑器中有可见的效果的,8个在TemplateWizard中有可见的效果。

特定值的效果可能会随模板编辑器的更新以支持而改变。其中,可视化编辑器和2017版wikitext编辑器的努力可以在Phabricator任务T55613中追踪到。类似的使TemplateWizard支持布尔值的努力是在T200664中追踪的。

下面列举了当前已知的效果。

描述
unknown

在没有设置类型时,"unknown"值就是默认的类型值,也可以手动输入"type": "unknown"来设置。

效果

在所有的主要的编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,与没有模板数据的模板相比,"unknown"没有可见的效果。

string

"string"值用于任何纯文本字符串。

效果

在所有的主要的编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,与"unknown"相比,"string"没有可见的效果。

line

"line"值用于应该强制保持在一行内的内容。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"line"会阻止参数的输入框创建新行,而通常情况下这些编辑器是可以创建新行的。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"line"没有可见的效果(此编辑器的输入框默认不允许新行)。
content

"content"值用于页面内容的wikitext,例如,链接、图像或者文本格式。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"content"没有可见的效果。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"content"会使参数的输入框更高以允许新行,而2010版wikitext编辑器的常规输入框是不允许的。
unbalanced-wikitext

"unbalanced-wikitext"值用于不能够独立存在的wikitext,例如缺少开始或结束标签,或者引用wikitext的其他部分。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"unbalanced-wikitext"没有可见的效果。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"unbalanced-wikitext"会使参数的输入框更高以允许新行,而2010版wikitext编辑器的常规输入框是不允许的。
wiki-page-name

"wiki-page-name"值用于wiki上的页面名称。

效果

在所有主要的编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,"wiki-page-name"会使参数的输入框显示建议下拉菜单,包含wiki上的页面的列表,例如维基百科上的文章,可以选中。 在搜索中可以定义命名空间。 此外,在可视化编辑器和2017版wikitext编辑器中,还会强制输入框的内容保持在一行内。 没有其他的可见的效果,不会阻止输入非页面。

wiki-file-name

"wiki-file-name"值用于存储在本地wiki或者在Wikimedia Commons上的文件名称。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"wiki-file-name"没有可见的效果。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"wiki-file-name"会使输入框显示建议下拉菜单,包含存储在本地和存储在Wikipedia Commons上的文件列表,可以选中。 文件名称不会包含“File:”命名空间前缀。 下拉菜单也会显示文件的缩略图。 没有其他的可见的效果,不会阻止输入非文件。
wiki-template-name

"wiki-template-name"值用于模板的名称。

效果

在所有主要的编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,"wiki-template-name"会使参数的输入框显示建议下拉菜单,包含模板的列表,可以选中。 此外,在可视化编辑器和2017版wikitext编辑器中,还会强制输入框的内容保持在一行内。 没有其他的可见的效果,不会阻止输入非模板。

wiki-user-name

"wiki-user-name"值用于wiki上的用户名。

效果

在所有主要的编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)中,"wiki-user-name"会使参数的输入框显示建议下拉菜单,包含实际用户名的列表,可以选中。 此外,在可视化编辑器和2017版wikitext编辑器中,还会强制输入框的内容保持在一行内。 没有其他的可见的效果,不会阻止输入非用户名。

number

"number"值用于数字值,包括负值和小数。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"number"没有可见的效果。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"number"会导致输入框在一侧显示“+”和“-”按钮,可以提高或降低数字值,用户只能在框内输入数字。 按钮也可以将数字降低到负数。

带有其他参数

  • 在带有TemplateWizard的2010版wikitext编辑器中,"number"覆盖了"autovalue"的效果,如果参数类型为"number""autovalue"的值不会自动添加到输入框中。
boolean

"boolean"的值用于只能为true、false或者未知。根据手册,它用于表现为“1”、“0”或者空白值。

效果

在2020年2月,主要的维基媒体编辑器(可视化编辑器、2017版wikitext编辑器和带有TemplateWizard的2010版wikitext编辑器)均未利用此值,没有可见的效果。

如果带有autovalue:0,可视化编辑器中会显示复选框,可以切换为开和关。

date

"date"用于YYYY-MM-DD(ISO 8601)格式的日期,例如2014-05-22。模板数据手册也指定了ISO 8601的日期时间组合,例如2014-05-22T16:01:12Z,但是实际上没有主要的编辑界面会使用此功能,且大多数维基媒体模板参数会分开接收日期和时间。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"date"没有可见的效果。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"date"会使参数输入框缩短大约三分之一,允许用户选择日期格式,并在输入框中显示灰色的示例文本“YYYY-MM-DD”。如果输入不符合此标准,框会显示红色发光,但是编辑器总是会输入符合此标准的日期(如果输入了数字)或者不输入(如果仅输入了文本或者没有输入内容)。

带有其他参数

  • 在带有TemplateWizard的2010版wikitext编辑器中,"date"覆盖了"autovalue"的效果,如果参数类型为"date""autovalue"的值不会自动添加到输入框中。
url

"url"的值用于URL,包含互联网协议(例如,“https://”或“//”)。

效果

  • 在可视化编辑器和2017版wikitext编辑器中,"url"会使输入框在左边显示一个外部链接图标(正方形和指向外面的一个答卷),如果用户输入的文本没有包含有效的Internet协议(例如,“https://”、“ftp://”或“//”)就点开了,那么会有红色发光。 第二个效果类似于required设置,但是当用户尝试插入模板而没有有效的URL时,不会警告用户。 这对于任何的状态设置(例如suggested"deprecated)也会发生。
  • 在带有TemplateWizard的2010版wikitext编辑器中,"url"没有可见的效果。

带有其他参数

  • 在可视化编辑器和2017版wikitext编辑器中,"autovalue"覆盖了"url"的可见的效果:当两个都设置了时,输入框不会包含URL图标,当用于点开而不输入有效的URL时,也不会有红色的发光。

自定义格式

编辑"format"值时,你通过输入一组使用预定义的规则的wikitext符号来创建自定义的格式。

  • {{ - 模板的开始
  • _ - 内容(例如:字符串、整数或参数)。 下划线用于表示字符的值的最小长度,可以重复,就像_______。 如果长度不足,就会用空格填充剩余的字符。 这可以用来将等号对齐于参数后的指定的位置(如果使用了\n以表示新行)。
  • | - 管道符(分隔参数)
  • = - 等号(接参数的值)
  • \n或者按下enter键 - 新行(这会在entry字段中显示为
  • - 空格(可以和\n一起使用以给新行缩进)
  • }} - 模板的结束

wikitext至少应该符合最小的{{_|_=_}},否则会是无效字符串错误。

您可以使用的格式示例
目标 格式字符串 输出
行内格式 {{_|_=_}}
inline
{{Foo|bar=baz|longparameter=quux}}{{Bar}}
区块格式 {{_\n| _ = _\n}}
block
{{Foo
| bar = baz
| longparameter = quux
}}{{Bar}}
参数名称前没有空格,每个模板都在自己的行上 \n{{_\n|_ = _\n}}\n
{{Foo
|bar = baz
|longparameter = quux
}}
{{Bar}}
缩进每个参数 {{_\n |_ = _\n}}
{{Foo
 |bar = baz
 |longparameter = quux
}}{{Bar}}
将所有的参数名称对齐到指定的长度 {{_\n|_______________ = _\n}}\n
{{Foo
|bar            = baz
|longparameter  = quux
|veryverylongparameter = bat
}}
{{Bar}}
管道字符位于前一行的末尾 {{_|\n _______________ = _}}
{{Foo|
  bar            = baz|
  longparameter  = quux}}{{Bar}}
行内样式,带有更多空格,必须在一行的开头 \n{{_ | _ = _}}
{{Foo | bar = baz | longparameter = quux}}
{{Bar }}
在一行开头的模板,用缩进对齐的参数,管道之前 \n{{_ |\n _______________ = _}}
{{Foo |
  bar            = baz |
  longparameter  = quux}}
{{Bar}}

空白样板

您可以复制下面的空白样板来向模板中添加新的模板数据,只包含了最常见的标签。

<templatedata>
{
    "description": "",
    "params": {
        "1": {
            "label": "",
            "description": "",
            "type": ""
        },
        "2": {
            "label": "",
            "description": "",
            "type": ""
        }
    }
}
</templatedata>


错误

JSON内有语法错误。/糟糕的JSON格式

这个错误通常发生在可视化编辑器中,保存模板数据时,通常是手动编辑,且有无效的JSON代码(重复的键或值、多余或者缺失的逗号,等等)。

可视化编辑器中会出现“JSON内有语法错误。”;在模板数据GUI编辑器中编辑时会出现“Bad JSON format”。

这个错误不易检测到,且形式多样,无法列举。 要避免出现这种错误,最好的方式就是仅使用模板数据编辑器进行编辑,最好的一次检测是否存在错误的方式就是使用外部的JSON检查器,例如JSONLint,它可以高亮出错误并尝试将其修复。

2010版wikitext编辑器不会检查无效的JSON,这是由于一个老的、未修复的bug(工單T128029)。 包含无效JSON的页面可能会抛出“内部错误”的消息。 要将其修复,最好使用JSON验证器(参见上方)。

未找到必需的属性“paramOrder[数字]”。

这个错误发生在,如果你在"params"中声明了一个参数,但是在"paramOrder"中没有声明。 方括号中的数字代表了"paramOrder"中缺失的参数,指的是在序列中的顺序,但是比实际的位置少1,因为"paramOrder"是数组,0是第一个,1是第二个,等等。

"params": {
    "date": { ...
    },
    "reason": { ...
    },
    "talk": { ... // <-- "paramOrder"中应该声明这个参数,但是没有。
    }
},
"paramOrder": [
	"date",
	"reason"
]

// 错误:未找到必需的属性“paramOrder[2]”。

要将其修复,确保"params"中声明的所有的参数都列举在了"paramOrder"中。 此外,你也可以移除掉整个"paramOrder"对象以消除这个错误。

属性“paramOrder[数字]”的值无效。

这个错误发生在,如果你在"paramOrder"中声明了一个参数,但是在"params"中没有声明。 方括号中的数字代码了"paramOrder"中不应该有的参数,指的是序列中的顺序,但是比实际的位置少1,因为"paramOrder"是数组,0是第一个,1是第二个,等等。

"params": {
    "date": { ...
    },
    "talk": { ...
    }
},
"paramOrder": [
	"date",
	"reason", // <-- "params"中应该声明这个参数,但是没有。
    "talk"
]

// 错误:属性“paramOrder[1]”的值无效。

要将其修复,确保"paramOrder"中声明的所有的参数都列举在了"params"中。 此外,你也可以移除掉整个"paramOrder"对象以消除这个错误。

属性“params.参数名称.required”的类型应为“boolean”。

这个错误发生在,如果你在"required""suggested"的值中使用了引号。

"suggested": "true" // <-- 这些地方不应该有引号。

它们是布尔值,而不是字符串,因此不需要引号。 要修复这个,移除掉这些参数的truefalse旁的引号。

属性format应该是…(Property "format" is expected to be ...)

如果"format"参数存在,但是其值不是"inline""block"或者有效的格式字符串,你会看到错误消息“属性“format”应为“inline”“block”或有效的格式字符串。”。

"format": "notinline"

// 错误:属性“format”应该是“inline”、“block”或者有效的格式字符串。

要修复这个,确保"format": 之后的所有参数都等于"inline""block",且没有拼写错误。此外,如果是在wikitext中,确保至少包含最小的{{_|_=_}},语法没有通常会导致模板失败的错误,例如多余的等号或者缺失、重复的花括号。自定义格式的语法请参见#自定义格式。 此外,你也可以移除掉"format"参数以消除这个错误。

意外的属性“参数名称”。

如果你声明了模板数据中的一个未知参数将会发生错误。 这很可能是由于拼写错误或用了大写字母而非小写字母。

<templatedata>
{
    "description": "",
    "format": "inline",
    "params": {
        "1": {
            "label": "",
            "descriptino": "", // <-- 拼写错误
            "type": ""
        }
    }
}
</templatedata>

此外,还可能会发生在,你在任何模板数据对象中声明了一个参数,但这个参数不是该对象中的参数的情况。这可能是由于拼写错误,或者你写了另一个对象中的模板数据对象中的参数,而参数不属于那个对象。

例如,你可能将参数"label"写到了根模板数据对象中,而不是在"params"内:

<templatedata>
{
    "description": "",
    "format": "inline",
    "label": "", // <-- 错误放置的参数
    "params": {
        "1": { // ↓ it should be in here
            "description": "",
            "type": ""
        }
    }
}
</templatedata>

如果未知的参数是在"params"内的模板参数中的,你会在错误中的“params.参数名称”后面看到其名称。

要修复这个问题,确保参数名称没有任何的拼写错误,确保你的参数都在正确的位置。 此外,确保你没有在模板数据对象中,声明任何不存在的参数。 你可以在章节#模板数据参数中检查对象中有哪些参数是存在的。

未找到必需的属性“params”。

这个错误发生在,模板数据是没有"params"对象。 这个对象是必需的,包含每个参数的所有细节,所以要修复这个错误,确保它已经添加,且没有拼写错误。 关于如果添加"params"参数,请参考上方的段落

局限和反馈

  • 缺失功能 – 模板数据是用于提供很少的功能的工具的例子,希望用户将有助于指导他们想要的功能的开发。如果您想要请求模板数据的新功能,请让我们知道
  • 模板显示延迟 – 将模板数据添加到模板后,在可视化编辑器中打开模板时,元数据应立即可见。但是,可能需要几个小时的时间才会显示元数据。您可以通过对模板页面本身(而不是文档子页面)进行空编辑来强制更新。要执行空白编辑,请打开模板页面进行编辑,并保存页面,而不进行任何更改,也不添加任何编辑摘要
  • 现有问题 – 现有问题(bug)和特性请求可在Wikimedia错误追踪系统找到。

其它工具

Help:Extension:TemplateWizard
工具栏对话窗口,用于通过由模板数据构建的表单来输入模板wikitext。
TemplateData Wizard
通过交互式界面生成模板信息的工具。
Skeleton TemplateData generator
读取模板源wiki代码的工具,尝试寻找使用的所有参数,并按列出的参数输出纲要文档。
JSONLint
允许您验证手动写入的JSON以帮助查找语法中的错误的工具。