扩展:输入框

This page is a translated version of the page Extension:InputBox and the translation is 98% complete.
此扩展已绑定在MediaWiki 1.21及以上版本 因此您不需要再次下载。 然而,您仍需要跟随提供的其他指示。
MediaWiki擴充功能手冊
OOjs UI icon advanced-invert.svg
InputBox
发布状态: 稳定版
Simple Input Form.png
实现 标签 , 页面操作 , 搜索
描述 允许编辑者在页面中添加预置的HTML表格
作者
  • Erik Möller
  • Leonardo Pimenta
  • Rob Church
  • Trevor Parscal
  • Daniel Schuba
最新版本 Continuous updates
MediaWiki 1.30+
数据庫更改
许可协议 MIT授權條款
下载
* <inputbox>
翻譯InputBox擴充功能如在translatewiki.net可用

检查使用和版本矩阵。

问题 尚未完成的工作 · 回報錯誤

InputBox扩展已经创造了HTML表单维基页面。 用户可以通过将文本输入框中“完成”表单(输入文本、选择菜单项等)。

InputBox最初是由Erik Möller为在维基新闻中加入创建条目框的目的而创建的。

安装

  • 下载文件,并将其放置在您extensions/文件夹中的InputBox目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    wfLoadExtension( 'InputBox' );
    
  •   完成 – 在您的wiki上导航至Special:Version,以验证扩展已成功安装。

致使用MediaWiki 1.24或更早版本的用户:

上面的说明介绍的是安装此扩展的新方法,它使用wfLoadExtension()。 如果您需要在早期版本(MediaWiki 1.24和更早版本)中安装此扩展,而不是wfLoadExtension( 'InputBox' );,您需要使用:

require_once "$IP/extensions/InputBox/InputBox.php";

示例

创建一篇新文章的输入框。

Wiki代码

<inputbox>
type=create
break=no
</inputbox>

输出结果

常见问题

输入框像这样子构造

<inputbox>
type=
bgcolor=
width=
page=
default=
preload=
editintro=
buttonlabel=
hidden=
searchbuttonlabel=
fulltextbutton=
labeltext=
break=
namespaces=
prefix=
placeholder=
minor=
nosummary=
summary=
id=
inline=
dir=
preloadparams[]=
searchfilter=
useve=
arialabel=
</inputbox>

type参数必须输入。 而其他所有参数均为可选。 preloadparams[]可以出现不止一次。

输入框类型

默认情况下提交按钮位于输入框的下面。


通过设置换行参数可将“提交”按钮移至右侧:break=no

将“提交”按钮移至右侧对于使用搜索框时搜索建议覆盖了下方搜索按钮的情况很有用。

类型 例子 描述
type=search
创建的搜索框的默认宽度为50字符。 输入的内容为要搜索的关键字。
type=create

创建新页面。 输入的内容为要编辑的页面名称。
type=comment

在输入框指定的页面下增加一个新段落。
type=commenttitle

以输入框中输入的标题增加一个新段落。 标题可以用default=参数指定。页面必须用page=参数指定。 (引入 自 rev:47203)
type=fulltext
仅显示全文搜索按钮,不显示“前往”按钮。 (引入 自 rev:45269)
type=move

将页面移动至另一个名字。 (引入 自 gerrit:97559)

对于type=search2,默认的搜索按钮位置在右侧。 目前,似乎无法将其他参数添加到这种类型的输入框中。 这种搜索框将搜索其所在的整个维基。

类型 例子
type=search2
 

参数

参数 描述 适用范围 兼容性 例子 结果
arialabel= Supply the aria-label attribute to the inputbox to allow generated markup be accessible to screen readers 所有类型
1.35
Gerrit change 572050
<inputbox>
type=search
arialabel=Search the Wiki
</inputbox>
bgcolor= 设置表格背景色(HTML颜色值)。 不要使用引号。 所有类型 ?
<inputbox>
type=search
bgcolor=#eeeeff
</inputbox>
width= 设置输入框的宽度,单位为字符。 所有类型 ?
<inputbox>
type=create
width=24
</inputbox>

default= 输入框中的默认文本。 所有类型 ?
<inputbox>
type=comment
default=User talk:Eloquence
</inputbox>

preload= 当创建新页面时,此标题的页面将会被预先载入(参见Manual:Creating pages with preloaded text )进空白编辑框。 create, comment, commenttitle ?
<inputbox>
type=create
preload=Log
</inputbox>

在上面或下面的输入框示例中输入一个不存在的页面标题,并分别点击“创建页面”或“新段落”按钮来测试此功能。
editintro= 通过这一参数指定的页面将会作为编辑指引显示在编辑窗口上方 create, comment ?
<inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox>

buttonlabel= 此参数将作为表单主按钮显示的文字。 所有类型 ?
<inputbox>
type=comment
buttonlabel=Add new rumor
</inputbox>

hidden= 此参数指定不显示输入框。

这需要与参数“default”配合使用,但此参数现在不是默认值,而是作为页面标题的固定值。

create, comment ?
<inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=在讨论页留言
</inputbox>

searchbuttonlabel= 此参数将作为表单“搜索全文”按钮显示的文字。 search, fulltext ?
<inputbox>
type=search
searchbuttonlabel=深入探索
</inputbox>
fulltextbutton= 在“search2”表单上显示全文搜索按钮。 search2 ?
<inputbox>
type=search2
searchbuttonlabel=深入探索
fulltextbutton=true
</inputbox>
labeltext= 在左侧显示的文字。 search2 ?
<inputbox>
type=search2
searchbuttonlabel=深入探索
labeltext=查找: 
</inputbox>
 
break= 是否在输入框和按钮之间插入换行。 默认为yes(使用换行)。 所有类型 ?
<inputbox>
type=create
width=24
break=no
</inputbox>
namespaces= 在全文搜索中支持选择命名空间。

使用“Main**”以默认选中主命名空间。

search, fulltext ?
<inputbox>
type=search
namespaces=Main**,Help
</inputbox>
prefix=
  • 指定搜索以特定前缀开头的页面来缩小范围。 注意这仅兼容特定的搜索后端,目前仅有扩展:CirrusSearch 。 默认为空(搜索所有页面)。
  • 创建一个以特定前缀开头的页面。
  • 在type=move中,前缀将加在默认参数前。

注:下划线不等同于空格。

search, fulltext, create ?
<inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>

下面的按钮以Special:Mypage/作为前缀。


placeholder= 设置当输入框为空时的占位文字。 所有类型
1.19
<inputbox>
type=search
placeholder=搜索此维基
</inputbox>
page= 要发表评论或要移动的页面。 comment, move
<inputbox>
type=comment
page=Project:Sandbox
</inputbox>

minor= 小编辑。 comment, create
<inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox>

nosummary= 对新评论不要求编辑摘要(标题)。 comment
<inputbox>
type=comment
page=Project:Sandbox
nosummary=true
</inputbox>

summary= 编辑摘要或移动理由。 create, move
<inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox>

id= <form>的id属性。 所有类型
1.23
for some types
<inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>

inline= 将输入框作为inline元素(在开头不换行)。 search2
在此输入: <inputbox>
type=search2
inline=true
width=10
</inputbox>
在此输入:
 
dir= 书写方向从右到左(rtl)或从左到右(ltr)。 默认与页面语言的方向相同。 所有类型
<inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox>

preloadparams[]= 设置预载文本的参数。 参见使用预加载文本创建页面 create, comment, commenttitle
1.25
<inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox>

searchfilter= 指定在搜索中追加的参数。 search
1.30
<inputbox>
type=search
searchfilter=insource:foo
</inputbox>
useve= 当新的可视化编辑器扩展被安装且此参数被设为true时,将使用可视化编辑器创建页面。 create, comment
<inputbox>
type=create
break=no
useve=true
</inputbox>

对于已存在的页面使用create只会跳转到编辑界面。 在这种情况下preload被忽略。 对新页面使用comment是有效的。

这里使用的在MediaWiki:命名空间下的文本只是作为示例,任何存在的页面都能被用于editintropreload。 不幸的是preload现在还不能对上传文件摘要生效。

对齐

如果你想要在页面右侧创建一个输入框,使用:

<div style="float:{{dir|{{pagelang}}|left|right}}; width:42em">
<inputbox>
type=create
</inputbox>
</div>

解析器函数

在模板中使用输入框

为了创建许多类似的输入框,输入框可以在模板中使用。 然而,在模板中只有当‎<inputbox>...‎</inputbox>标签以{{#tag:inputbox | ...}}的形式编写时,传递给输入框的模板参数才能够生效。

下面的例子是一个通过指定模板创建新页面的模板:

{{#tag:inputbox |
type=create
buttonlabel=创建新{{{1|条目}}}
preload={{{2|Template:Article}}} }}

When instantiating the template, the first parameter gives the item that is created (default: article) as spelled out in the button, the second parameter gives the name of the template used to create the item (default: Template:Article).

E.g., the code for an input box to create a new project from a project template might look like this:

{{Template:CreateNew|project|Template:Project}}

参见