Extension:Cargo/Quick start guide/zh

假设你想创建一个展示你家里所有藏书的wiki. 你希望你的wiki中有两种类型的页面：书，以及作者. 每个书的页面都应包含书名、作者、类型、出版年份，以及总页数. 每个作者页面应该包含作者的名字、国籍，以及你所收藏的他的作品列表.

创建模板
你所要做的最主要的事情是创建两个模板，一个是书，另一个是作者. 如果你安装了Page Forms插件，你可以使用Special:CreateTemplate或Special:CreateClass来创建模板. 另外如果你还安装了Page Schemas扩展，你可以使用标准的“创建/编辑图式”来创建或重新创建Cargo模板.

当然，你也可以手动创建这些模板. 以下是这两个模板可能的样子：

Template:Book

Template:Author

做完这些，你现在就有个信息框样式的模板了，该模板既能够定义数据结构还能够以容易查询的方式存储数据.

你可以在此模板中看到调用Cargo的三个主要解析器函数例子：#cargo_declare, #cargo_store, #cargo_query，以及这三者如何相互作用. 尤其注意放置#cargo_declare, #cargo_store的地方：前者是标签，后者是标签.

关于这些模板的其他注意事项：


 * 对于这两个模板，实体的名称，比如书名或者作者，没有存储在模板中. 这是因为页面自身的名称会存储书或作者的名称——也会存储在这两个表内，在_pageName字段中.
 * “Author”最后包含一个聚合查询，也就是查询“Books”表格（由其他模板定义）并获取在“Authors”字段的值中包含当前页面的所有页面的名称. （然后默认就会将信息显示为用逗号分开的列表. ）这是一种非常常见的查询类型，意味着你不需要将相同的数据存储在两个不同的页面中，因为一个页面可以简单地查询数据.
 * 此示例代码中有一行需要另一个扩展才能工作：Template:Book中的行调用了#arraymap和#formredlink，这两者都由页面表单扩展定义. 这一行进行相当复杂的操作：将“  ”的值分成一个或更多个子值（由逗号分隔），然后对每个值链接至对应页面（如果那个名称的页面存在），或者链接至使用“Form:Author”的定义表单创建该页面的表单.  因此，此模板假定不仅已安装页面表单扩展，而且已创建“Authors”表单. 如果你没有安装页面表单，你可以将这一行换成更简单的东西，例如：
 * 然而，强烈建议任何使用Cargo的wiki都使用Page Forms.

创建Cargo表
模板创建之后，还有一件简单的事情要做：为每个模板创建Cargo数据库表. 储存模板时并不会自动完成创建. 有两种选项：


 * 对于每个模板，在那个模板页面，选择“创建数据表”选项（或者在URL后面加上 ），然后按“确定（OK）”按钮.
 * 对于命令行，到Cargo的 目录运行“ ”.

把这其中一个做完，就会创建一个表，表内存储着每个相关模板的数据，你就随时可以点击模板页面的“查看表格”链接看到表的内容.