テスト用ページ のバックアップ(No.27)


Wikiアプデの際に生まれた副産物の配布および紹介が主なページ   の予定
Pukiwikiカスタムにあたってのメモも記述


この項目のそれは全て1.5.2+PHP7系でしかテストしていません
旧環境だとエラーを吐く可能性もあります。利用は自己責任で


配布

PukiWiki用Skin&CSS(微調整まだ。7/26配布開始予定)

sortabletable.inc.php (Data Tables版)

taru memo内の日記ページにて配布されているプラグインをDataTables仕様に改造した物
下位互換性を持たせているので、ユーザー側は旧版と同じ感覚で利用可能
ただしjQuery呼び出しおよび後述する各種ファイルの設置は必須

旧版との大きな違い

表データの各種外部出力およびページャー機能が付きました。また、数値ソート(Number)が若干パワーアップ
ソート用の新オプションも追加したのでソートのON/OFF、データの一部非表示なども可能となりました
Data Tablesは改造しやすく、知識さえあれば他にも色々と出来そうですが今回実装分での違いはこのくらい

バージョンとライセンス

2019/7/24、R00。プロトタイプ的な位置付け
現状、深刻なバグが出ない限りはこのR00のまま。VerUP予定無し
あくまでWikiアプデの際の副産物なのでR01以降は他の人に任せます…

ライセンスは改造元の作者さんに倣い、GPLv2 or (at your option) any later version
記述時点ではGPLv2 or GPLv3の二択

必要なファイル

プラグイン本体は当然pluginディレクトリ
残りはskin/Data Tables内に置く事になります。詳細はプラグインに同梱のmemo内にて
jQueryの読み込ませ方はお好みで。一応デフォルトでは既に呼び出している前提の記述をしています

機能紹介

#sortabletable{{
表|h
表
}}

#sortabletable(有効値|有効値...){{
表|h
表
}}

#sortabletable(有効値|有効値...,フィルター用の0~2の数値){{
表|h
表
}}

元のプラグインと違いsort=を付ける必要が無く付いていても強引な修正処理により無い物として扱われる
また有効値はこの強引な修正処理により大文字小文字が入り混じってもOK
フィルター用の数値はきっちり半角で入力する事
有効値「」、もしくは無効値を入力
DataTablesにおけるニュートラルな条件でソート
これは後述のStringとは別物。若干ソートの仕方が違う
YYYYMMDD形式の日付処理はこれに任せるとよさげ
 
有効値「Off」
この指定をされた列はソートが機能しない。旧版では利用不可
「ソートの基準には出来ない」というだけなので他に合わせて動き、フィルターの対象としても扱われる
 
有効値「Number」
文字列を数値として扱う。旧版とおおよそは同じ仕様
旧版と違う所は数値以外を基本存在しない物として扱う点。カンマや円などの単位が付いていてもきっちり機能する
例外として、指定列内に数値が含まれていない文字列だけの箇所が混じっているとソートがおかしくなる事も 

有効値「String」
文字列を文字列として扱う。旧版と同じ仕様
旧版同様、数値もただの文字扱いなので数値処理には向かない 

有効値「Secret」
この指定をされた行は完全に隠れて表示されない。旧版では利用不可
「表示はされないが要素として存在はしている」のでフィルターの対象にはなる
内部IDなど普段は隠しておきたい列に対して使うと良い
フィルター有効値「」、もしくは無効値を入力
フィルター機能無効。旧版と同じ

フィルター有効値「1」
フィルター機能有効。旧版とおおよそは同じ
旧版と違うのはON/OFF機能が無い…というか付ける必要のない簡易的なフィルターという点
故に複数条件での指定は出来ない

フィルター有効値「2」
フィルター機能有効+ページャー有効。旧版では利用不可
簡易的な指定件数毎の表示機能が設けられ、表を複数ページに分ける事が可能。TOP10表示などに便利
表示は100件、50件、10件の中で指定する事となり初期値は100。プラグイン内の該当箇所を直接弄る事で変更可

サンプル1

#sortabletable(aaaaa|Number|SecRet|date|off,2){{
|~yyyymd|~人口|~密度|~a|~b|h
|987/11/16|約555|1|2月29日||
|3411-1-5|1111人|02.1|||
|5555/11/13|aaaa6aaaaaaaaaaaaaaaaaaa|10|9月15日||
|6890/12/4|5.55です|1.9|11月22日||
|0987/11/2|9,99人|2.6|1月2日||
|987/1/2|999体|-2.6|11月11日||
|987/11/2|-9ふぇ99人|2.6|11月3日||
|0987/11/2|9,99人|2.6|10月10日||
|987/1/2|999体|2.6|2月29日||
|2016/9/27|4000000|16|1月10日|ALL GOOD|
|987/2/11|5000兆ギル欲しい|+2.23|0120828828||
}}
 
yyyymd人口密度ab
987/11/16約55512月29日
3411-1-51111人02.1
5555/11/13aaaa6aaaaaaaaaaaaaaaaaaa109月15日
6890/12/45.55です1.911月22日
0987/11/29,99人2.61月2日
987/1/2999体-2.611月11日
987/11/2-9ふぇ99人2.611月3日
0987/11/29,99人2.610月10日
987/1/2999体2.62月29日
2016/9/274000000161月10日ALL GOOD
987/2/115000兆ギル欲しい+2.23828828

メモ