• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

帮助:时长扩展/SMW

来自THBWiki
跳到导航 跳到搜索

以下是时长扩展SMW部分的说明文档。

安装

需要修改的SMW文件有:

  • \extensions\SemanticMediaWiki\includes\storage\SQLStore目录下的SMW_SQLStore3.php
  • \extensions\SemanticMediaWiki\includes\dataitems目录下的SMW_DataItem.php
  • \extensions\SemanticMediaWiki\languages目录下的SMW_Language.phpSMW_LanguageEnSMW_LanguageZh.php或其他语言的SMW_LanguageXX.php

SMW_SQLStore3.php

protected static $di_type_tables = array( ... )里,加上:

SMWDataItem::TYPE_LINK       => 'smw_di_uri',

public function getDataItemHandlerForDIType( $diType ) { ... }里的switch ( $diType ) { ... }里,加上:

case SMWDataItem::TYPE_LINK:
$this->diHandlers[$diType] = new SMWDIHandlerLink( $this );
break;

SMW_DataItem.php

abstract class SMWDataItem { ... }里,加上:

const TYPE_LINK      = 21;

SMW_Language.php

static protected $enDatatypeAliases = array( ... )里,加上:

'Duration'              => '_dur',
'Link'                  => '_lin',

SMW_LanguageEn

protected $m_DatatypeLabels = array( ... )里,加上:

'_dur' => 'Duration',  // name of the duration type
'_lin' => 'Link',  // name of the link type

SMW_LanguageZh

protected $m_DatatypeLabels = array( ... )里,加上:

'_dur' => '时长',	// 'Duration',  // name of the duration type
'_lin' => '链接',	// 'Link',  // name of the Link type

时长类型

用于储存时长值。

定义

  1. 在属性页面加上[[Has type::Duration]]
  2. 在词条页面加上[[时长属性名::时长字串]]

搜索

{{#ask:[[持续长度::>04:12--00:03]][[持续长度::<04:12++00:03]]
|?名称
|?持续长度
|limit=10|searchlabel=|sort=持续长度|order=desc|mainlabel=-}}

预设格式

默认格式为MEDIAWIKI。

{{#ask:[[总时长::+]]|?名称
|?总时长#MEDIAWIKI=维基格式
|?总时长#SHORT=短格式
|?总时长#LONG=长格式
|?总时长#ISO=ISO标准
|?总时长#CUE=CUE格式
|limit=20|searchlabel=|sort=总时长|order=desc|mainlabel=-}}

自订格式语法

{{#ask:[[总时长::+]]|?名称
|?总时长#$O=$O // 以小时为单位的时长
|?总时长#$I=$I // 以分钟为单位的时长
|?总时长#$E=$E // 以秒为单位的时长
|?总时长#$i=$i // 以分钟为单位的时长(向下取整)
|?总时长#$e=$e // 以秒为单位的时长(向下取整)
|?总时长#$H=$H // 时长的小时部分(前导零)
|?总时长#$M=$M // 时长的分钟部分(前导零)
|?总时长#$S=$S // 时长的秒部分(前导零)
|?总时长#$D&nbsp;=$D // 时长的小数部分,唯存在时才显示小数点,可能会返回空值所以在某些格式中不能单独使用
|?总时长#$h=$h // 时长的小时部分
|?总时长#$m=$m // 时长的分钟部分
|?总时长#$s=$s // 时长的秒部分
|?总时长#$d=$d // 时长的小数部分,取整并后导零至四位
|limit=20|searchlabel=|sort=总时长|order=desc|mainlabel=-}}

例子

{{#ask:[[专辑总时长::+]]|?专辑名称
|?专辑总时长#$h小时 $m分钟 $s秒=$h小时 $m分钟 $s秒
|?专辑总时长#$i分$s$D秒=$i分$s$D秒
|?专辑总时长#$O小时=$O小时
|limit=20|searchlabel=|sort=专辑总时长|order=desc|mainlabel=-}}
专辑名称$h小时 $m分钟 $s秒$i分$s$D秒$O小时
东方二次同人(Fan Games)专辑8bit洛克人风格Remix12小时 55分钟 19秒775分19秒12.921944444444小时
東方幻奏響Revival弐 ~魔法少女vs魔王勇者~11小时 4分钟 42秒664分42秒11.078333333333小时
東方幻奏響UROBOROS業 ~eNDoFtHEuLTIMATEoVERdRIVE~10小时 54分钟 52秒654分52秒10.914444444444小时
大弾奏結界 総集篇纂組曲 ~The Suite~10小时 42分钟 13秒642分13秒10.703611111111小时
Re Comp with We Love The Toho RMXes!10小时 21分钟 14秒621分14秒10.353888888889小时
東方幻奏響UROBOROS弐 ~fAIRYtAILoVERdRIVE~10小时 18分钟 23秒618分23秒10.306388888889小时
Beyond Boundaries10小时 10分钟 30秒610分30秒10.175小时
We Love the Toho Rmxes!~Iemitsu.Productions Toho RMX Series Complete Box~10小时 7分钟 17秒607分17秒10.121388888889小时
いえろ~ぜぶら ふぃな~れBOX9小时 51分钟 57秒591分57秒9.8658333333333小时
Look Back8小时 27分钟 38秒507分38秒8.4605555555556小时
MEGA ZUN8小时 12分钟 54秒492分54秒8.215小时
EastNewSound 10th Special Best8小时 9分钟 40秒489分40秒8.1611111111111小时
東方幻奏響UROBOROS肆 ~dEATHtINYoVERdRIVE~8小时 4分钟 1秒484分1秒8.0669444444444小时
東方九十九折7小时 35分钟 58秒455分58秒7.5994444444444小时
東方幻奏響UROBOROS参 ~とある魔法と幻想の無限螺旋~7小时 22分钟 48秒442分48秒7.38小时
東方空宴歌-COMPLETE-6小时 44分钟 3秒404分3秒6.7341666666667小时
イノキー ザ ベスト36小时 41分钟 41秒401分41秒6.6947222222222小时
東方魔法少女 アルティメット☆れいむ6小时 10分钟 30秒370分30秒6.175小时
The Afterlogue5小时 37分钟 34秒337分34秒5.6261111111111小时
The FreeBird5小时 21分钟 50秒321分50秒5.3638888888889小时

数学运算

此功能需要修改SemanticResultFormats的文件。

数学运算总时长
加总(format=sum)16
平均(format=average)0
中值(format=median)0
最大(format=max)2
最小(format=min)0

链接类型

用于储存URL链接和替代字串,接受[https://thbwiki.cc/ 首页](只能通过#set)和https://thbwiki.cc/ 首页的格式。

定义

  1. 在属性页面加上[[Has type::Link]]
  2. 在词条页面加上[[链接属性名::链接字串]]
  3. 可以使用[[链接属性名::链接字串|#显示格式]]的方法来改变属性在该页的显示方式。

搜索

{{#ask:[[社团页面::+]]
|?名称
|?社团页面
|limit=10|searchlabel=|mainlabel=-}}
{{#ask:[[其他页面::~* D-STAGE]]
|?-Has subobject
|?其他页面=通贩页面
|limit=10|searchlabel=|mainlabel=-}}

预设格式

默认格式为link。

{{#ask:[[官网页面::+]][[分类:同人专辑]]|?专辑名称
|?官网页面#link=链接
|?官网页面#url=URL
|?官网页面#alter=替代字串
|?官网页面#-=纯文字
|limit=5|searchlabel=|mainlabel=-}}
专辑名称链接URL替代字串纯文字
_(:з」∠)_https://weibo.com/p/1005056353823018 官网
https://music.163.com/#/album?id=35154134 官网
https://weibo.com/p/1005056353823018
https://music.163.com/#/album?id=35154134
官网
官网
官网
官网
"Activity" Case:01 -Graveyard Memory-http://gchm-music.com/cont/activity/ 官网http://gchm-music.com/cont/activity/官网官网
"Activity" Case:02 -Nightmare Counselor-http://gchm-music.com/cont/activity2/ 官网http://gchm-music.com/cont/activity2/官网官网
"Activity" Case:03 -Historical Vacation-http://gchm-music.com/cont/activity3/ 官网http://gchm-music.com/cont/activity3/官网官网
"Activity" Case:04 -Cosmic Horoscope-http://activity-case-04.tumblr.com/ 官网http://activity-case-04.tumblr.com/官网官网