#author("2022-05-20T05:52:33+09:00;2021-03-28T08:49:50+09:00","default:kanateko","kanateko")
#author("2022-07-06T04:29:04+09:00;2021-03-28T08:49:50+09:00","default:kanateko","kanateko")
&tag(カスタマイズ,プラグイン,改造);

#contentsx

*変更箇所のまとめ [#be4c41d9]
-旧版との互換性確保
--ソートしたくない列をスキップできるようにする
--オプションに"1"を指定するとfilterオプションが有効になるようにする
-autonumを指定しないとヘッダー部分とそれ以外が分離するバグを修正

*変更の詳細 [#k76c7556]
**旧版との互換性確保 [#ofcb56cd]
そのまま旧版とすげ替えたかったので、まずは任意の列でソート指定をスキップしてもエラーが出ないようにする。

#prism(diff-php diff-highlight){{
		foreach ($sort_keys as $sort_key) {
-           if (! (isset($sort_kinds[$sort_key])) ) {
+           if (! empty($sort_key) && ! (isset($sort_kinds[$sort_key])) ) {
				// 引数のソート種別が一致しない場合
				$params['_error'] = '引数の指定にエラーがあります: ' . $sort_key;
				return $params;
		    }
		}
}}

次に、オプションで"1"を指定すると"filter"を指定したのと同じになるようにする。

#prism(diff-php diff-highlight){{
			if (isset($params[$val[0]])) {
				// 指定された引数がオプション名と一致する場合
				switch ($val[0]) {
+				case '1':
				case 'filter':
-					$params[$val[0]] = TRUE;
+					$params['filter'] = TRUE;
					break;
}}

**autonum未指定時のバグ修正 [#h18abd99]
autonumを指定しない状態だと表が崩壊するバグがあるため修正する。
#prism(diff-php diff-highlight){{
					$cell_color = 'BGCOLOR(' . $params['head'] . '):';
				} else {
					// ヘッダ行カラー指定がない
-					if ($params['autonum'] != -1) {
+					if ($params['autonum'] != -999999) {
						// 自動採番No追加
						$cell = '|~'  . $params['numname'];
}}
簡単なミスだが最初は意外と気づけなくて何がおかしいのかとウンウン唸ってた。
ちなみにこのバグが確認されているのは現時点で最新バージョンの0.7.2。
*プラグイン配布元 [#of24d22b]
[[PukiWiki用ソートテーブル(表)プラグインを導入する! | SEの良心:https://dajya-ranger.com/pukiwiki/sortable-table-plugin/]]

(旧版: [[PukiWikiで表をソートしたい | OXY NOTES:https://oxynotes.com/?p=175]])
*コメント [#aaa376ed]
質問や指摘などあればどうぞ。
----
#pcomment(,10,above,reply)
#pcomment(reply)