Help:TemplateData/zh



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

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



模板数据编辑器
There is a built-in tool for editing TemplateData. It may not be installed on your wiki yet.

要使用模板数据编辑器，前往模板页面（或它的文档“/doc”页面）并点击“编辑”按钮. 这将提供一个按钮叫做“”，就在编辑窗口上方： 点此按钮以进入编辑模板数据的GUI工具. The editor allows you to add one row per template parameter and to set the most common attributes. If the page you edited already contains a block of TemplateData, then the information already documented will automatically be shown when you open the correct page in the TemplateData editor. In the first box, you can add or update a short description of the template in plain text. After that, you can use the "Import parameters" and "Add parameters" buttons to document the names and attributes of the parameters that the template uses.

You can list the name of the parameter, any aliases for it, the label and the description that will display to users. The only required field is Name (the first field in each row), which is where you record the exact, case-sensitive name of the parameter. In the pop-up menu, you can choose the type of content that the parameter should receive, such as a string (for plain-text answers), page (for links to other pages), or dates. If the template will produce an error if this parameter is left blank, please mark it as "Required". If the parameter is commonly used or recommended, then mark it as "Suggested". The "Remove" button will delete the parameter's entry from TemplateData.

When you are finished documenting each of the parameters, click "Apply" to insert the pre-formatted TemplateData into the open editing box. You must still save the page, using the normal "Save" button underneath the editing window.

Caution: The TemplateData editor will place TemplateData on either the template page or on a documentation subpage. You determine where the TemplateData will be added by opening (editing) the page that you want the TemplateData to be placed on. However, if multiple TemplateData blocks are placed on the same template, then only one of those TemplateData blocks will be used. If there is already TemplateData on a page, then you need to edit the page where the TemplateData was previously placed to avoid accidentally creating multiple blocks of TemplateData.



模板数据的结构
模板数据的结构基于JSON，相当简洁. 注意模板数据里的摘要必须是纯文本（没wiki代码、没连接等）.

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

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



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

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



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

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



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

例如， 可能写成  或.

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



自动值
You can specify an "autovalue" for a parameter. When users add the template to a page, this value will be added automatically. For example, many clean-up templates need to have the date added; if you specify an autovalue for the template's date parameter, then the date will be filled in automatically.

To add this information to TemplateData, simply add the autovalue to the parameter's information. You will probably want to use  to make the values stick:



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



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



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



限制与问题
或者执行更新服务器缓存（即请求时添加action=purge）也可.
 * 丢失功能 — 模板数据在创建时只有很少的功能，希望用户根据需要引导该功能的开发，如果您希望它增加新功能，请告知我们.
 * 在模板编辑时显示延迟 — 在一般情况下，当向一个模板添加TemplateDate时，这些元信息会立即能在可视化编辑器上显示. 然而，有时这些信息不能及时更新而需要较长时间进行缓冲后才能显示. 所以你可以进行一次空编辑来逼使模板页的缓存更新. 只需要重新打开模板，编辑一下，然后保持不变地重新提交即可.
 * 当前消息 — 一些错误或功能建议可以提交到Bugzilla反馈.



其他工具

 * TemplateDataEditor — 这是一个可视化方便修改模板数据的用户脚本工具. 它位于法语维基百科（包含英语、意大利语、日语和韩语版），并很容易翻译成其他语言.
 * TemplateData Wizard — 通过交互界面生成模板数据的工具.
 * Skeleton TemplateData generator — 用于读取模板的原始wiki代码、找出所有参数并根据它们生成初步文档的工具.
 * JSONLint — 供您检验手写 JSON 以发现语法错误的工具.
 * List of all templates with TemplateData on this wiki