Help:TemplateData/zh



什么是TemplateData?
TemplateData是一种存储模板与它的参数信息的储存格式，可视化编辑器能够解释并显示它们，以方便可视化编辑器使用者更好地使用模板.

TemplateData允许用户在模板页内写入一个小型的结构信息，或者编合到模板页中（如在模板说明页）. 当一个模板有了它自己的结构信息，这就能在可视化编辑器中显示. 虽然听上去好像很复杂，但实际上这很简单.



TemplateData的结构
TemplateData的结构基于JSON，相当简洁. 里面的说明应该是纯文字（不允许任何格式化）.

首先我们见建立包含这对 标记的页面，可以在模板说明页的任何位置，好像这样：

这回告诉软件这个标记之间的信息就是TemplateData信息，当这个模板被使用时就会被引用.



例子
这里有一个TemplateData标准例子：这个例子是对应一个叫“Commons”的模板，用以连接到Commons的一个主题分类上. 这里需要一个必须的参数：一个在Commons的分类名称. 这个模板的TemplateData可能看上去是这样.

在模板中，这将会这样显示： {       "description": "一个用于一个条目链接到commons分类的模板", "params": { "1": {                       "label": "Commons分类", "description": "你想链接到的commons的分类", "default": "Category:CommonsRoot", "type": "string", "required": true }       } }



说明与参数
当完成设置，按下“保存”，如果出错，则不会保存下来（以免造成破坏）. 如果出现错误，请到反馈页 说明你的操作行为，我们会乐意帮助你.

注意，每个设置值必须用""括好（除了 ， ），每个设置值以“,”分隔（除了最后一个）.



参数别名
有些模板的参数有多个别名.

例如， 可能写成  或.

为了写入这个设定到TemplateData，你需要这样为相应的参数插入别名信息：



索引参数
如果模板有使用索引参数，每个索引参数名都添加相应的设定信息. 如同 "1" 标记，而且从 "1" 开始标记.



类似参数
如果模板有多个参数，有些参数和另一个参数基本相似的，可以在第一个参数完整设置好，其他参数使用"inherits"继承其.



空白样板
你可以复制以下空白模板来建构新的TemplateData信息.



限制与问题

 * Missing features — TemplateData is very much an example of tool that was made available with few features, in hope that users would help to guide development of features that they desired. If you'd like to request new features for TemplateData, please let us know.
 * Delays in showing in templates — After adding TemplateData to a template, the metadata should be visible immediately when the template is opened in VisualEditor. However, it is possible that it takes hours before the metadata show. You can force an update by making a null edit to the template page itself (not the documentation subpage). To perform a null edit, open the template page for editing, and save the page without making any change.
 * Current issues — A list of current bugs and feature requests is available in bugzilla.



工具

 * TemplateDataEditor — 这是一个可视化方便修改TemplateData的用户脚本工具，以存在英文和法语翻译，也可以翻译成其他语种
 * TemplateData Wizard — A tool that generates TemplateData through an interactive interface.
 * Skeleton TemplateData generator — 一个用于读取模板的原始wiki代码，并找出所有参数，生成初步的TemplateData模板.
 * JSONLint — A tool that allows you to validate manually-written JSON to help find errors in the syntax.