Template:InfoBox
众所周知,在MediaWiki里,信息框是必不可少的一部分,它可以为读者提供该条目的最简单也最有价值的简介信息,但不同 Wiki 提供商或站点,对应的信息框的样式是不同的,我们站点遵循原生体验,使用了原生主题的 MediaWiki 信息框的样式。而且此站点的InfoBox模板为模块化设计,这就意味着可以根据需求的不同定制不同类型的信息框模板。
用法
你可以在源代码模式里使用 {{InfoBox}}
创建该模板。
{{InfoBox |title=标题 |imagePar1=图片参数 |imageSubPar1=图片描述参数 |imagePar2=图片参数 |imageSubPar2=图片描述参数 |imagePar3=图片参数 |imageSubPar3=图片描述参数 |imagePar4=图片参数 |imageSubPar4=图片描述参数 |param1=左列显示文字 |param2=左列显示文字 |param3=左列显示文字 |param4=左列显示文字 |param5=左列显示文字 ... |param19=左列显示文字 |param20=左列显示文字 |subParam1=右列显示文字 |subParam2=右列显示文字 |subParam3=右列显示文字 |subParam4=右列右列显示 |subParam5=右列显示文字 ... |subParam19=右列显示文字 |subParam20=右列显示文字 }}如果下面一些参数没有使用,模板不会创建该参数行占用空间。
参数
InfoBox模板内置了1个标题参数,4个图像参数,4个图像介绍参数,20个列表参数和列表值参数。
参数名 | 名称 | 作用 |
---|---|---|
title | 标题 | 信息框的标题,如果不填则默认设置成当前访问的条目名。 |
imagePar1 | 图片文件名 | 该消息框的图片信息,后面的数字代表空位数(例如第一位置为 imagePar1,第二位为 imagePar2,最多4个。) |
imageSubPar1 | 图片描述 | 如题所述。(数字的描述同 imagePar。) |
param1 | 左侧空位 | 该信息框的左侧参数名,注意两者数字位一定要相同,否则不显示。 |
subParam1 | 右侧空位 | 该信息框的右侧参数名。 |
例子
正确例子
{{InfoBox |title=MediaWiki Infobox |imagePar1=Image File URL or File Path |imageSubPar1=Image Description |param1=Name |param2=Sex |subParam1=Hello World MediaWiki |subParam2=Male }}对应的效果如下:(为了方便演示,这里用了一个隐形的参数控制信息框的浮动位置,另外模块化不提供此功能。)
Mediawiki Infobox | |
---|---|
Name | Hello World MediaWiki |
Sex | Male |
{{{param|}}}
和{{{subParam|}}}
参数后面的数字必须一样才能作用到同一行上。
错误例子
一些人以为{{{param|}}}
和{{{subParam|}}}
可以随便般配,但这样做会导致对应行创建不了。这是一个错误的语法:{{InfoBox |title=MediaWiki Infobox |imagePar1=Image File URL or File Path |imageSubPar1=Image Description |param1=Name |param2=Sex |subParam3=Hello World MediaWiki |subParam4=Male }}
Mediawiki Infobox | |
---|---|
这里虽然赋予了{{{param1|}}}
和{{{param2|}}}
的值,但由于后面的{{{subParam|}}}
与前面的数字顺序不同,导致无法创建相应的行,所以就显示不出来,所以一定要两两匹配才行。(也就是{{{paramx|}}}
= {{{subParamx|}}}
。反之{{{paramx|}}}
≠ {{{subParamy|}}}
)
模板模块定制化
当然,一次性创建那么多{{{param1|}}}
之类的参数难免会让人混淆不清,而且由于还是基于{{InfoBox}}
信息框模板,此模板无法对所有不同类型的信息框种类进行不同的参数透明化,所以就需要基于该模板进行创建分支,也就是创建{{InfoBox}}
的子模板。路径可以为Template:InfoBox/自定义信息框子模板
,或其他位置。在创建的时候,一定要使用以下的代码进行创建:{{InfoBox |title= |imagePar1= |imagePar2= ... |imageSubPar1= |imageSubPar2= ... |param1= |param2= ... |subParam1= |subParam2= ... }}在进行赋值时,也可以使用定义的模板参数进行赋值。比如一段 Map 信息框的定义代码:
{{Map |imageDescribe=双子阴阳岛之谜 主菜单界面 |dateRelease=2022年1月31日 |type=闯关,冒险。 |version=SMBX 1.4.5 Patch 31.1 |devInfo=100 |storageSize={{sizecalculator|30479767}} |dateCreate=2021年底 |titleName=双子阴阳岛之谜 |imageFile=MNI_Title.png |fullname=Mystery of Negaposy Island |mapVersion=Version 1.2(更新于2022年4月2日) |diff=2 |language=中文/英文 |isShare=封包
}}
双子阴阳岛之谜 | |
---|---|
作品全名 | Mystery of Negaposy Island |
创建日期 | 2021年底 |
发布日期 | 2022年1月31日 |
类型 | 闯关,冒险。 |
地图版本 | Version 1.2(更新于2022年4月2日) |
难度 | Hard |
语言偏好 | 中文/英文 |
适用版本 | SMBX 1.4.5 Patch 31.1 |
容量 | 29.07 MB |
开发状态 | 已发布 |
效果如右图:
这样做的好处是方便了对模板参数深入不了解的人也能根据提供的现有参数进行赋值,这也是模块定制化的特点。优点也很明显:
- 它省去了占用极大的代码空间去分别给不同模板赋予信息框。
- 为不同方案提供定制化服务,也丰富了信息框的样式。
- 不需要用户手动直接输入
{{InfoBox}}
去创建,直接使用已经创建好的信息框子模板进行使用。