全站通知:

帮助:模板

来自bilibili游戏中心 - WIKI
(重定向自帮助:模板使用
跳到导航 跳到搜索

写在前面

  • 本页面涉及标点符号均为英文半角符号。

什么是模板

  • 在mediawiki中,模板是一个特殊的名字空间,用于用户快捷的引用其内容到指定的页面上。通过定义参数和组合解析器函数,模板可以做到一些便捷的内容复用功能。

为什么要制作模板

  • 在游戏类WIKI中会有大量的图鉴页面,这些页面因为内容结构基本一致,会有一个框架性的重复部分,通常我们会把图鉴连带其样式做成一个名字叫图鉴的模板。并将这个内容放置在“模板:图鉴”的页面。
  • 模板可以复用,调用也比较简单,只需要写{{模板名}}即可调用模板内容到当前页面。
  • 当代码改变时,仅需修改模板,调用模板的页面会自动更新。
  • 模板可以隐藏大量重复使用的代码,提高代码可读性。
  • 模板可以接受参数,提供一定范围内的自定义效果。

模板的制作和使用方式

简单的模板制作

  • 创建一个页面,以模板:xxx(模板名)的形式。例如“模板:2233”该页面内,已经写入了内容“22是姐姐。33是妹妹。”
  • 在需要的位置引入模板的话要使用这种语义“{{2233}}或{{模板:2233}}”
写法 效果
2233是一对姐妹。{{2233}}
2233是一对姐妹。22是姐姐。33是妹妹。
2233是一对姐妹。{{模板:2233}}
2233是一对姐妹。22是姐姐。33是妹妹。
  • 模板页面的内容是什么引入的时候就是什么,当然也可以通过函数 in only 来控制哪些内容可以引用,哪些内容可以不引用。
  • 在搞清楚了模板的基本原理我们可以尝试制作一些复杂的模板。

复杂的模板制作

引入参数

  • 例如,模板:今天。页面内内容相对简单,“今天是{{{1}}}”。其中这个{{{1}}}表示的就是要传入这个模板的第一个变量。同理,{{{2}}}就是这个模板要被传入的第二个变量,以此类推,一个模板里可传入的变量根据定义可以无限多。
  • 因为引入了参数,模板就会变得更灵活。使用方法也相对简单。
写法 效果
{{今天|周一}}
今天是周一
{{今天|一个好日子}}
今天是一个好日子
{{今天|22的生日}}
今天是22的生日
  • 除了顺序外还可以自定义变量的名称。例如这个模板,模板:英灵——“{{{英灵名称}}}的职阶是{{{英灵职阶}}}
写法 效果 说明
{{英灵|英灵名称=阿尔托莉雅・潘德拉贡|英灵职阶=Saber}}
{{英灵|英灵职阶=Saber|英灵名称=阿尔托莉雅・潘德拉贡}}
阿尔托莉雅・潘德拉贡的职阶是Saber

阿尔托莉雅・潘德拉贡的职阶是Saber

使用“|”来间隔不同参数,同时只要是参数名称对应的正确,传入参数的顺序不会被影响。
{{英灵|英灵名称=阿尔托莉雅・潘德拉贡|英灵职阶=}}
阿尔托莉雅・潘德拉贡的职阶是 当参数为空的时候,则该参数的位置传入的也是空。
{{英灵|英灵名称=阿尔托莉雅・潘德拉贡}}
阿尔托莉雅・潘德拉贡的职阶是{{{英灵职阶}}} 如果参数缺失,则会显示缺失的参数。

组合MediaWiki解析器函数

  • 通过模板组合解析器函数的例子太多了这里举两个比较常见的。
模板+switch函数
  • 样例,模板:变色。多用于游戏中转化稀有度和颜色的。此处的举例较粗糙,一般来说各位站长们都会配上具体的颜色数值以便在模板中调用。关于switch函数的用法,可以阅读:解析函数#switch
模板 写法 效果
{{#switch:{{{1}}}
|1星=白色
|2星=绿色
|3星=蓝色
|4星=紫色
|5星=橙色
}}
{{变色|1星}}
白色
模板+SMW
  • SMW函数常用#set#ask#show,具体详细使用方法和原理此处不做详细说明,具体可参考 SMW 。此处仅针对使用频率最高的#ask进行举例说明。

以如下代码为例:

{{#ask:[[分类:游戏WIKI]][[列表显示::显示]]
|?游戏名
|?WIKI域名
|?创建时间
|?创建人UID
|?创建人昵称
|link=none
|sort=创建时间
|template=游戏WIKI申请列表
|headers=hide
|order=desc
|format=template
|limit=1000
}}

#ask 将符合条件的页面中的对应的数值,按照标记的参数顺序,依次使用 游戏WIKI申请列表这个模板进行输出。默认{{{1}}}为对应页面。其余的按照从上往下的顺序依次排列,既游戏名是第二个参数,WIKI域名是第三个以此类推。

当然,SMW也支持自定义参数名,例如:|?游戏名=游戏名称,那么在对应的模板里就不能继续使用{{{2}}},而是{{{游戏名称}}} ,但是需要在输出时设定参数|named args=yes,具体细节见帮助:SMW/Format说明#有传参名的模式


作业

  • 虽然直接搬运图鉴模板看似比较省事,但是读懂其中的东西还是比较费时的。另外,如果涉及样式不一同搬运过来的话也会出现货不对板的情况。
  • 如果参考BWIKI以外的站点制作图鉴请一定要遵守CC协议!
  • 另外借鉴他人图鉴结构会导致大家的WIKI看起来都差不多,建议大家在理解模板原理的情况下根据实际内容自主创作。
  • 请使用阅读源代码来参考这些例子

角色图鉴

武器装备道具图鉴

原神武器图鉴

其他图鉴