模板:模板代码框
概述
本模板用来标识一些模板、函数的格式代码,便于展示和交流。
代码:
{{ 模板代码框 | 模板标题 | 参数1,参数1介绍;参数2,参数2介绍;参数3,参数3介绍; ... 参数n,参数n介绍;|样式标识}}
提示:
1、参数介绍可以省略;
2、仅有一个参数或者参数介绍可以省略结尾的逗号或分号;
3、样式标识用于自定义变量代码或函数代码,自定义变量代码标识为“@”,函数代码标识为“#”,常规模板省略该值;
示例
模板代码(无自定义变量):
{{模板代码框|引用|内容}}
效果:
模板代码(有自定义变量):
{{模板代码框|文本样式| 内容,此处输入的文本将使用你所定义的样式,空留则显示当前所示的参数说明; 颜色,更变内容文本的文本颜色,需使用16进制的颜色代码或颜色英文,如:#9400D3或blue,空留表示不使用; 背景色,更变内容文本的背景颜色,格式同上,空留表示不使用; 字号,更变内容文本的字体大小,px单位,仅输入数字即可,空留使用默认尺寸; 删除线,为内容文本增加一段贯穿文本的线段,输“中”、“是”、“true”等除下述任意值时表示使用删除线,输入“上”时使用上划线,输入“下”时使用下划线,空留表示不使用; 加粗,为内容文本加粗,输入任意内容则表示使用加粗,例如“是”或“true”,空留表示不使用; 斜体,为内容文本斜体,输入任意内容则表示使用斜体,例如“是”或“true”,空留表示不使用 |@}}
效果:
|
|
|
|
|
|
|
}}
函数代码:
{{模板代码框|arraymap|value,参数;delimiter,分隔符;variable,创建变量;formula,引用变量;new_delimiter,新分隔符|#}}
效果:
模板:模板代码框 概述 本模板用来标识一些模板、函数的格式代码,便于展示和交流。
代码:
提示: 1、参数介绍可以省略; 2、仅有一个参数或者参数介绍可以省略结尾的逗号或分号; 3、样式标识用于自定义变量代码或函数代码,自定义变量代码标识为“@”,函数代码标识为“#”,常规模板省略该值; 示例 模板代码(无自定义变量):
效果:
模板代码(有自定义变量):
|
|
|
|
|
|
|
}}
效果: 此处输入的文本将使用你所定义的样式,空留则显示当前所示的参数说明
函数代码:
效果: formula
常用模板
arraydefine
将一串字符串用分隔符分割并创建成数组。
{{# arraydefine:数组变量|字符串|分隔符|选项}} 例子: 运行 {{#arraydefine:@狂欢城镇|乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚|,}} 输出: 无输出值 (新变量创建成功,@狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚)
arrayprint
将数组变量的元素以字符串方式输出或操作。
{{# arrayprint:数组变量|分隔符|数组元素变量|操作|选项}} 例子: 运行 {{#arraydefine:@狂欢城镇|乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚|,}} 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arrayprint:@狂欢城镇|;}} 输出 乌尔弗兰姆;莎莎;娅莉塔;贝斯派;桃乐丝;伊吹;爱丽丝;夜之女王瑞秋;魅魔瑞秋;瑞秋;莉莉丝;明日香;;;明日香;麻美;加西亚 运行 {{#arrayprint:@狂欢城镇|、|@chara|[[@chara]]}} 输出 乌尔弗兰姆、莎莎、娅莉塔、贝斯派、桃乐丝、伊吹、爱丽丝、夜之女王瑞秋、魅魔瑞秋、瑞秋、莉莉丝、明日香、[[]]、[[]]、明日香、麻美、加西亚
arrayindex
返回对应索引的元素内容。 注意:数组第1位元素的索引是0并不是1。
{{# arrayindex:数组变量|索引值|默认值}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arrayindex:@狂欢城镇|2}} 输出 娅莉塔
arraysize
返回数组长度,即数组所包含的元素数量
{{# arraysize:数组变量}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arraysize:@狂欢城镇}} 输出 17
arraysearch
查找完全匹配元素的数组元素并返回所在索引或内容,若数组存在相同的两个元素,则返回最先找到的元素所在索引位置。
{{# arraysearch:数组变量|元素名|起始索引|找到反馈|找不到反馈}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arraysearch:@狂欢城镇|瑞秋}} 输出 9
arraysearcharray
提取包含关键字的元素重组数组。
{{# arraysearcharray:新数组变量|数组变量|关键字|起始索引|取出数量|替代文本}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arraysearcharray:@新狂欢城镇|@狂欢城镇|/\s*瑞秋\s*/}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:夜之女王瑞秋,魅魔瑞秋,瑞秋) 运行 {{#arraysearcharray:@新狂欢城镇|@狂欢城镇|/\s*瑞秋\s*/|0|-1|塔普娘}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:夜之女王塔普娘,魅魔塔普娘,塔普娘)
arrayslice
在原数组内截取一段指定范围的元素重组成新数组。
{{# arrayslice:新数组变量|数组变量|起始位置|取出长度}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arrayslice:@四大魔女|@狂欢城镇|0|4}} 输出 无输出值 (新变量创建成功,@四大魔女:乌尔弗兰姆,莎莎,娅莉塔,贝斯派)
arrayunique
清除数组变量内的重复元素、空元素。
{{# arrayunique:数组变量}} 例子: 运行 {{#arraydefine:@狂欢城镇|乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚|,}} 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚 运行 {{#arrayunique:@狂欢城镇}} 输出 无输出值 (变量内容已改变,@狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,麻美,加西亚)
arrayreset
重置数组,即删除数组所有元素、以及自定义过的选项,支持同时操作多个数组变量。
{{# arrayreset:数组变量1|数组变量2|数组变量3|...|数组变量n}} 例子: 运行 {{#arraydefine:@狂欢城镇|乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,,,明日香,麻美,加西亚|,}} {{#arraysearcharray:@新狂欢城镇|@狂欢城镇|/\s*瑞秋\s*/|0|-1|塔普娘}} 数组变量成员一览 @新狂欢城镇:夜之女王塔普娘,魅魔塔普娘,塔普娘 运行 {{#arrayreset:@新狂欢城镇}} 输出 无输出值 (变量内容已改变,@新狂欢城镇:)
arraysort
对数组进行排序,排序方法可以填random、desc、asc。
{{# arraysort:数组变量|排序方法}} 例子: 数组变量成员一览 @狂欢城镇:乌尔弗兰姆,莎莎,娅莉塔,贝斯派,桃乐丝,伊吹,爱丽丝,夜之女王瑞秋,魅魔瑞秋,瑞秋,莉莉丝,明日香,麻美,加西亚 运行 {{#arraysort:@狂欢城镇|random}} 输出 无输出值 (变量内容已改变,@狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝)
arraymerge
合并数组,将2个或2个以上的数组变量合并成一个新数组变量。
{{# arraymerge:新数组变量|数组变量1|数组变量2|数组变量3|...|数组变量n}} 例子: 运行 {{#arraydefine:@狂欢城镇|娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝|,}} {{#arraydefine:@四大魔女|乌尔弗兰姆,莎莎,娅莉塔,贝斯派|,}} 数组变量成员一览 @狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝 @四大魔女:乌尔弗兰姆,莎莎,娅莉塔,贝斯派 运行 {{#arraymerge:@新狂欢城镇|@狂欢城镇|@四大魔女}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝,乌尔弗兰姆,莎莎,娅莉塔,贝斯派)
arrayunion
合并数组,将2个或2个以上的数组变量合并成一个新数组变量,而且没有重复值。
{{# arrayunion:新数组变量|数组变量1|数组变量2|数组变量3|...|数组变量n}} 例子: 运行 {{#arraydefine:@狂欢城镇|娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝|,}} {{#arraydefine:@四大魔女|乌尔弗兰姆,莎莎,娅莉塔,贝斯派|,}} 数组变量成员一览 @狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝 @四大魔女:乌尔弗兰姆,莎莎,娅莉塔,贝斯派 运行 {{#arrayunion:@新狂欢城镇|@狂欢城镇|@四大魔女}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝)
arraydiff
对比数组,将2个或2个以上的数组的交集(相同元素)进行删除并合并为一个新数组变量。
{{# arraydiff:新数组变量|数组变量1|数组变量2|数组变量3|...|数组变量n}} 例子: 运行 {{#arraydefine:@狂欢城镇|娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝|,}} {{#arraydefine:@四大魔女|乌尔弗兰姆,莎莎,娅莉塔,贝斯派|,}} 数组变量成员一览 @狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝 @四大魔女:乌尔弗兰姆,莎莎,娅莉塔,贝斯派 运行 {{#arraydiff:@新狂欢城镇|@狂欢城镇|@四大魔女}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,明日香,魅魔瑞秋,伊吹,瑞秋,莉莉丝)
arrayintersect
对比数组,将2个或2个以上的数组的交集(相同元素)取出并创建为一个新数组变量。
{{# arrayintersect:新数组变量|数组变量1|数组变量2|数组变量3|...|数组变量n}} 例子: 运行 {{#arraydefine:@狂欢城镇|娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝|,}} {{#arraydefine:@四大魔女|乌尔弗兰姆,莎莎,娅莉塔,贝斯派|,}} 数组变量成员一览 @狂欢城镇:娅莉塔,莎莎,麻美,夜之女王瑞秋,爱丽丝,桃乐丝,加西亚,乌尔弗兰姆,明日香,魅魔瑞秋,伊吹,瑞秋,贝斯派,莉莉丝 @四大魔女:乌尔弗兰姆,莎莎,娅莉塔,贝斯派 运行 {{#arrayintersect:@新狂欢城镇|@狂欢城镇|@四大魔女}} 输出 无输出值 (新变量创建成功,@新狂欢城镇:娅莉塔,莎莎,乌尔弗兰姆,贝斯派)
arraymap
表单函数 本节内容选自Extension:Page Forms/Page Forms and templates 将字符串拆分输出并操作。类似 arrayprint 函数,不过此处不使用数组变量,而是指直接使用字符串,并且会忽略空值。常用于制造循环。
{{# arraymap:字符串|分隔符|元素变量|操作|输出分隔符}} 例子: 运行 {{#arraymap:莎莎,乌尔弗兰姆,娅莉塔,贝斯派|,|@chara|我永远喜欢@chara|、}} 输出 我永远喜欢莎莎、我永远喜欢乌尔弗兰姆、我永远喜欢娅莉塔、我永远喜欢贝斯派
常用关键字
ifeq
判断
1 {{#ifeq:判断语句左侧|判断语句右侧|相等时操作|不等时操作}} 例子: {{#ifeq:{{#var:勇士评价}}|5|5星|非5星,勇士的评价为{{#var:勇士评价}}|}} 2 {{#ifeq:判断语句左侧||为空时操作|不为空时操作}} 右侧为空时 表示判断语句左侧是否为空 其中0不是空 例子:{{#ifeq:{{#var:勇士评价}}||暂无评价|勇士的评价为{{#var:勇士评价}}|}} 3 判断变量a==1 时的写法为{{#ifeq:{{#var:a}}|1|相等时操作|不等时操作}} 而不是{{#ifeq:{{#expr:{{#var:a}}==1}}||相等时操作|不等时操作}} 4 衍生:{{#if:{{#var:勇士评价}}|存在时输出|不存在时输出}}
switch
分支
#default不能缺少 {{#switch:变量|条件1|条件2|...|#default状态}} 例子: {{#switch:{{{契约类型}}} |支援勇士=0 |#default=1 |隐藏的勇士=2 |异世界勇士=2 |普通勇士=0 }}
ifexist
文件存在判断
{{#ifexist:File:{{{名字}}}立绘.png|<div class="cqframe">[[File:{{{名字}}}立绘.png]]</div>|不存在时判断}}
expr
计算表达式
{{#expr:{{#arraysize:@继承等级数据}}-1 }} {{#expr:{{{星级}}}=6 and {{#var:@契约类型}}<>0}} 返回计算结果或布尔结果
vardefine
创建变量,@可以不用写
{{#vardefine:@契约类型|{{{契约类型}}} and you can add other string }}
var
调用变量
{{#var:标签}} 如果前面定义时有用@,则#var:冒号后面也要要加@
set
建全局属性 用于ask的时候筛选
{{#set:名字={{{名字|}}} |编号={{{编号|}}} }}
show
访问变量的属性成员
{{#show:@@|?星级#}}
ask
外部访问并生成数据
1生成字符串 {{#ask:[[分类:精淬武器]][[专属::{{{系列}}}]][[星级::{{{星级}}}]]|?名字#|?攻击力#|?攻击速度#|?专用属性#|format=array|sep=;|propsep=,}} 同一类下不同属性之间使用”,”分隔,不同类之间使用”;”分隔。 2生成表格 {{#ask: [[分类:勇士]] [[职业::@@]] [[星级::6]] |?名字# #输出纯文本内容,过滤超链接;问号一定要有 |?别名# |?编号 |sort=编号 |order=desc,asc |format=template |named args=yes |offset=0 |limit=500 |template=别名表格行 这边有问号但模板页面不要有问号 |intro=<table class="btable sortable"><tr> <th style="width:200px">勇士</th> <th>别名</th> |outro=</table> }} 调用模板里有问号时模板页面里也要有问号,调用模板里没有问号时模板页面里也没有问号
subobject
类似set,可创建一个被其他页面调用的数据
{{#subobject:子对象名称 |属性A=属性值A |属性B=属性值B-1,属性值B-2,属性值B-3,属性值B-4|+sep=, |属性C=属性值C-1|属性值C-2|属性值C-3|属性值C-4 |@category=分类名 |...... }} 解释: ①子对象名称是用来定义这个subobject的内容; ②如果属性值有多个,可自定义分隔符分隔,然后用+sep声明分隔符; ③也可以不用+sep声明分隔符,默认用“|”直接分隔,若作为输出则默认替换成“,”; ④使用@category对本subobject创建一个分类,等同于[[分类:xxx]]。
案例:
假设在“勇士头发颜色一览”页面定义subobject
{{#subobject:勇士头发颜色 |白色=蕊儿,藩候雷迪斯,海之骄子玛蕾,二天一流香织,将军须佐能乎|+sep=, |黑色=上古原始 拉诺,布蕾克·贝拉多娜,鬼王钟奎|+sep=, |绿色=狮子团团长 格温|屠杀者 哈尔菲亚 |蓝色=圣域守护者 罗斯科娃|女侠客 泉奈|达娜·伊克露西亚 |@category=勇士发色 }}
本页或其他页引用这个subobject数据,可使用ask或show
1、使用Ask 方法:{{#ask:[[分类:勇士发色]]|?白色=|mainlabel=-}} 输出:蕊儿,藩候雷迪斯,海之骄子玛蕾,二天一流香织,将军须佐能乎 2、使用Show 方法:{{#show:勇士头发颜色一览#勇士头发颜色|?蓝色}} 输出:圣域守护者 罗斯科娃,女侠客 泉奈,达娜·伊克露西亚
括号
两个左括号{{是用于调用模板、发起#命令等,如{{将军须佐能乎}}; 三个左括号{{{是用于调用变量、如{{{系列}}} {{{1|}}}返回传入该模板的第一个参数 {{{名字|}}} 若竖线左边不存在则返回竖线右边 该例返回空 [[超链接]]、 [[超链接地址|超链接名称]] [站外链接]、 [站外链接 名称]
全局变量
{{FULLPAGENAME}} 当前页名 {{LOCALYEAR}} 当前年 {{LOCALMONTH}} 当前月 {{LOCALDAY}} 当前日 {{LOCALHOUR}} 当前时