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信息.



限制与问题
或者执行更新服务器缓存（即请求时添加action=purge）也可.
 * 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.
 * 在模板编辑时显示延迟 — 在一般情况下，当向一个模板添加TemplateDate时，这些元信息会立即能在可视化编辑器上显示. 然而，有时这些信息不能及时更新而需要较长时间进行缓冲后才能显示. 所以你可以进行一次空编辑来逼使模板页的缓存更新. 只需要重新打开模板，编辑一下，然后保持不变地重新提交即可.
 * 当前消息 — 一些Bug或功能建议可以提交到in bugzilla反馈.



工具

 * TemplateDataEditor — A user script that makes the process of adding TemplateData easier. It currently exists in French (contains English, Italian, Japanese and Korean translations), and can easily be translated into other languages.
 * 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.