2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Template:Select*

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模板文档  [查看] [编辑] [历史] [刷新]

这是一个提供页内数据查询的模板,同时可以根据需要进行排序,如果与{{random}}和页内刷新等模板组合使用,可以变成随机内容的排序(是否重复还是要看具体实现)。

主要参数:

  • mode:有效参数:0,切换为模块。(语法优化中)
  • header:在每一条查询前增加一个头。
  • footer:在每一条查询前增加一个尾。
  • split:给每一个字段增加一个间隔符
  • phase:给查询增加一个段落末符号,默认为:换行符<br/>
  • default:当找不到数据的时候所需要显示的内容,默认为空。
  • +:声明记录,格式是【+记录名.字段名:数据值】(不需要等号)
  • $:声明字段,格式是【$区别符=字段名】(需要等号),记录中字段所对应的数据值会按照此处声明的先后顺序重新排列。
  • @:重写header或footer,格式是【@序号-t】或【@序号-b】
    • 序号就是你进行查询时的顺序,如【|exm1|exm2|exmeee|ppt|exm6】中,exm6是第5个查询的结果。
    • 当你需要只对exm6的footer进行重写时,就应该使用【@5-t=重写头】。
  • 修饰字段:格式是【区别符-t】或【区别符-b】分别对应前缀与后缀。
    • 区别符就是你用字段选择器【$】命名的文本,如【$exm】中exm就是区别符。
    • 所以当你需要对结果中的每一个字段的数据进行修饰时,就应该使用【exm-t=前缀】,但是你无法只为单独一条记录中的某一个字段设置修饰。
  • 查询过程只要声明【记录名】即可,每条记录会按照声明的先后顺序进行排序。
  • 注意:请将查询过程放在最后,【添加记录】必须在最前面,否则后续的查询是查不到的。

模块语法:

  • ;:语句分段。
  • %;:分号的转义字符。
  • @:记录选择器
    • 选择一个记录名以供插入使用,使用“@#”清除选择器。
    • 例子:@记录名;
    • 修饰记录,使用“:”(半角冒号)进行赋值,“-t”表示前缀,“-b”表示后缀,目前不允许合并。
    • 例子:@记录名-t:值;@记录名-b:值;
  • $:字段选择器
    • 选择一组字段名以供查询或插入使用,使用“,”(半角逗号)进行分割。
    • 例子:$字段1,字段2,字段3;
    • 修饰字段,使用“:”(半角冒号)进行赋值,“-t”表示前缀,“-b”表示后缀,“-sp”表示间隔符,允许合并缩写。
    • 例子:$字段名-t:值;$字段名-b:值;$字段名-sp:值;或:$字段1,字段2,字段3,字段3:意思;
  • +:插入语句
    • 注意:记录名不得以“!”、“@”、“#”、“$”、“+”、“%”开头,这是保留关键字符。
    • 插入数据,使用“,”(半角逗号)进行分割。
    • 完整语句:+记录名.字段名:数据;
    • 记录名简写:@记录名;+字段名1:数据1,字段名2:数据2,字段名3:数据3;
    • 字段名简写:@记录名;$字段1,字段2,字段3;+数据1,数据2,数据3,字段4:数据4;
    • 简写翻译为:+记录名.字段名1:数据1;+记录名.字段名2:数据2;+记录名.字段名3:数据3;
  • #:参数定义
    • header:在每一条查询前增加一个头。可以被记录选择器重写。
    • footer:在每一条查询前增加一个尾。可以被记录选择器重写。
    • prefix:在每一个字段前面增加一个头。可以被字段选择器重写。
    • suffix:在每一个字段前面增加一个尾。可以被字段选择器重写。
    • split:给每一个字段增加一个间隔符。
    • phase:给查询增加一个段落末符号,默认为:换行符<br/>
    • default:当找不到数据的时候所需要显示的内容,默认为空。
  • 使用记录名进行查询
    • 例子:query;

输出模型:

(【记录名-t】或【header】)(【字段名-t】或【prefix】)【记录值】(【字段名-b】或【suffix】)(【字段名-sp】或【split】)……(【记录名-b】或【footer】)【phase】……

模板例子:

{{Select*
<!-- 主要参数 -->|header=头:|split=;|footer=尾。|pahse=<br/>|default=
<!-- 添加记录 -->|+虚记录1.虚字段A:空数据A1|+虚记录1.虚字段B:空数据B1|+虚记录1.虚字段C:空数据B1
<!-- 添加记录 -->|+虚记录2.虚字段A:空数据A2|+虚记录2.虚字段B:空数据B2
<!-- 添加记录 -->|+虚记录3.虚字段A:空数据A3|+虚记录3.虚字段B:空数据B3|+虚记录3.虚字段C:空数据B1
<!-- 添加记录 -->|+虚记录4.虚字段A:空数据A4|+虚记录4.虚字段B:空数据B4
<!-- 声明字段 -->|$1=虚字段B|$2=虚字段A|$3=虚字段C
<!-- 修饰字段 -->|字段1-t=火力{{=}}|字段2-t=雷装{{=}}|字段3-t=装甲{{=}}
<!-- 重写头尾 -->|@1-t=重写记录头.|@1-b=重写记录尾。
<!-- 查询记录 -->|虚记录2|虚记录1|虚记录3|虚记录4
}}

结果:

重写记录头.火力=空数据B2;雷装=空数据A2;装甲=;重写记录尾。
未命名:火力=空数据B1;雷装=空数据A1;装甲=空数据B1;结束。
未命名:火力=空数据B3;雷装=空数据A3;装甲=空数据B1;结束。
未命名:火力=空数据B4;雷装=空数据A4;装甲=;结束。

模块例子:

{{#invoke:Select*|test|str=#header:未命名:;#split:;;#footer:结束。;#pahse:<br/>;+虚记录1.虚字段A:空数据A1;+虚记录1.虚字段B:空数据B1;+虚记录1.虚字段C:空数据B1;+虚记录2.虚字段A:空数据A2;+虚记录2.虚字段B:空数据B2;+虚记录3.虚字段A:空数据A3;+虚记录3.虚字段B:空数据B3;+虚记录3.虚字段C:空数据B1;+虚记录4.虚字段A:空数据A4;+虚记录4.虚字段B:空数据B4;$虚字段B,虚字段A,虚字段C;$虚字段B-t:火力=;$虚字段A-t:雷装=;$虚字段C-t:装甲=;@虚记录2-t:重写记录头=;@虚记录2-b:重写记录尾。;虚记录2;虚记录1;虚记录3;虚记录4}}

结果:

重写记录头=火力=空数据B2;雷装=空数据A2;装甲=;重写记录尾。
未命名:火力=空数据B1;雷装=空数据A1;装甲=空数据B1;结束。
未命名:火力=空数据B3;雷装=空数据A3;装甲=空数据B1;结束。
未命名:火力=空数据B4;雷装=空数据A4;装甲=;结束。