Extension:页面表单

This page is a translated version of the page Extension:Page Forms and the translation is 99% complete.
MediaWiki扩展手册
Page Forms
发行状态: 稳定版
实现 特殊页面 , API
描述 该扩展可与扩展:Semantic MediaWiki 扩展:Cargo 配合使用,让用户能够创建表单,从而用于创建和编辑那些利用信息框式模板的页面。 表单的定义是在wiki页面内进行的,而且,其编写采用的是自定义置标语言,并在显示表单时,是实时对其加以解析的。
作者 Yaron Koren <yaron57@gmail.com>、Stephan Gambke及其他
最新版本 5.7.2 (2024年4月)
兼容性政策 master分支维持向后兼容。
MediaWiki 1.36+
Composer mediawiki/page-forms
许可协议 GNU通用公眾授權條款2.0或更新版本
下載
示例 可供用户编辑意见项的自动生成式表单
  • viewedittab
  • editrestrictedfields
  • createclass
  • multipageedit
翻译Page Forms扩展
Vagrant角色 pageforms
問題 开启的任务 · 报告错误

页面表单(Page Forms),在2016年以前曾称语义表单(Semantic Forms),是MediaWiki的一個扩展,可供用户利用表单的方式,来新增、编辑和查询数据。 在最初创建时,该扩展仅仅是扩展:Semantic MediaWiki 扩展的分支之一,旨在能够利用SMW来编辑模板,并存储模板参数。这也正是为何它曾经称作“语义表单”的原因。不过,如今,该扩展也可以与另外的扩展:Cargo 扩展配合使用,或在两者皆未安装的情况下工作。

很简单地说,页面表单可让您能够在自己的wiki站点之上备有用来创建和编辑页面的表单以及用来查询数据的表单,且无须进行任何的编程。 不但管理员可以创建和编辑表单,用户自己也可以这样。

页面表单功能的主要组件是表单定义页面。这些页面有着单独的名字空间,称作“Form:”。 这些页面由置标代码构成,而且,当用户访问表单时,就会解析相应的这些代码。 表单的定义完全利用的是这些定义页面,因此,用户可以自行创建和编辑表单,而无须进行任何实际的编程。

页面表单扩展一般用于在页面之中添加和编辑对于信息框式模板的调用。 对于任何页面而言,表单均可供用户填写预定的一套模板以及页面章节。在使用Cargo或Semantic MediaWiki的情况下,则可以存储和查询此类模板当中的数据。

表单还可以用于编辑已有wiki页面当中的数据。在任何的wiki页面上,均可启用并显示“编辑表单”选项卡。

页面表单还支持字段的自动完成,从而用户可以轻松地看到,过去为特定字段所输入过的取值。这非常有助于避免命名歧义、拼写等等方面的问题。

在采用表单方式编辑wiki页面时,对于那些并未纳入或并不适合该表单的页面数据,如关于当前页面主题的自由文本描述,并不会予以忽略;相反,则会将其放在名叫“free text”(自由文本)的,单独的输入框当中。

另外,页面表单还包括有种类多样的,与表单相关的其他功能。

如下所示为完整文档的链接。

如何采取Git、标准下载或软件包的方式,来下载页面表单;以及如何安装它。
如何立即开始上手使用页面表单。
那些支持页面表单的Wiki托管站点,以及那些可用于试用该扩展的公开Wiki站点。
页面表单所定义的所有“特殊页面”:辅助工具类特殊页面(Special:CreateProperty、Special:CreateTemplate、Special:CreateForm、Special:CreateCategory、Special:CreateClass)、列表显示类特殊页面(Special:Templates、Special:Forms)、实际表单显示类页面(Special:FormEdit、Special:FormStart、Special:RunQuery、Special:UploadWindow)和一个提供类似电子表格的界面来编辑包含模板的多个页面(Special:MultiPageEdit)。
页面表单基于模板的原理,以及关于该扩展为模板所定义的4个解析器函数的信息:#template_params、#template_display、#arraymap和#arraymaptemplate。
这是三个主要章节中的第一个。 如何在表单命名空间“Form:”之中的页面定义表单。 涵盖完整的表单定义语法,包括{{{info}}}、{{{for template}}}、{{{end template}}}、{{{field}}}、{{{section}}}以及{{{standard input}}}。 同时,还包括如何添加选项卡和工具提示。
第二大节。列出所有允许的输入类型,以及每种类型的参数,以及每种类型可以使用的 SMW 和 Cargo 数据类型的集合。
第三大节。 Information on setting possible/allowed values for the relevant input types, including "mapping" values to friendlier display names, options related to autocompletion, and the "show on select" parameter.
如何利用“默认表单”解析器函数#default_form,在页面上显示“编辑表单”选项卡。 此外,还有如何将该选项卡重新命名为“编辑”,并去除标准的“编辑”选项卡(如果您愿意的话)。
如何利用函数 #forminput、#formlink、#formredlink以及#queryformlink,向用户提供表单。 同时,还有如何利用函数#formredlink,自动创建红链页面。 而且,还有如何利用函数#autoedit,创建用于直接修改某一页面的链接。
利用“运行查询”特殊页面Special:RunQuery,创建用于查询数据而不是用于修改数据的表单。
人们所经常遇到的与表单、数据结构设计以及语义表单和其他扩展之间的配合使用相关的问题及其解决办法。
此软件之中的已知错误及其可能的变通手段;此外,还有现行“开发路线图”之中已经予以规划的功能特性。
在何处咨询问题,提交错误报告,提交功能请求,提交修复方法/补丁以及添加新的翻译。
为那些希望修改语义表单或者创建与之配合使用的扩展的开发人员所提供的信息。
主要作者、其他为代码做出了贡献的人员以及关于其他组织机构和软件项目的致谢名单。
2007年5月至今语义表单的版本历史。
关于那些采用语义表单的wiki站点的小型列表,以及那些指向更为全面列表的链接。
那些需要语义表单存在的扩展、那些可以与语义表单配合使用的扩展,以及那些用途类似于语义表单的扩展。
备忘单
链接 SMW快速参考 · Cargo快速参考 · 沙盒
解析器函数 {{#arraymap :value|delimiter|var|formula|new_delimiter|conjunction}}
{{#arraymaptemplate :value|template|delimiter|new_delimiter}}
{{#forminput :form=|size=|default value=|button text=|query string=|autocomplete on category=|autocomplete on namespace=|placeholder=|popup|no autofocus|namespace selector|query string parameters}}
{{#formlink :form=|link text=|link type=|query string=|target=|tooltip=|popup|new window|query string parameters}}
{{#formredlink :form=|link text=|existing page link text=|query string=|target=|popup|new window|create page|query string parameters}}
{{#queryformlink :form=|link text=|link type=|query string=|tooltip=|popup|new window|query string parameters}}
{{#template_params :}}
{{#template_display :_format=|_title=}}
{{#autoedit :form=|target=|link text=|link type=|minor|query string=|reload|tooltip=|redirect|bring to page=|summary=|confirm|query string parameters}}
{{#autoedit_rating :form=|target=|value=|star width=|num stars=|allow half stars=|minor|reload|tooltip=|summary=|confirm|query string parameters}}
{{#default_form :form name}}
输入类型

text , textarea , tokens , combobox , date , datetime , year , datepicker , datetimepicker , checkbox , dropdown , radiobutton , checkboxes , listbox , tree , rating , regexp , googlemaps , leaflet , openlayers