グループセレクタの設定例:発売年 #
発売年の年代 #
v0.91000まで「年代」といいつつ1年毎でリストアップしてありました。
ちなみに付属の設定ファイルは「年」という表現に修正してあります。
それでは今度こそ「年代」でグルーピングできるクエリを定義してみましょう。
クエリは「年」とほとんど同じです。
以下が設定例となります。
|
|
設定ファイル /resource/group_selector.cnf を開き、既存の「発売年」を書き換えるなり、「年代」として追記するなりして編集してください。
但し、タブ名とクエリ定義の順番が同じになるよう注意してください。
group_selector.cnfを変更したら CatShanty2 を起動(もしくは再起動)し、
オプション→全体設定→表示関係にて
グループセレクタの「表示するタブ」を設定してください。
そして少し面倒ですが、もう一度 CatShanty2 を再起動させるとグループセレクタのタブが更新されます。
グループセレクタ抽出クエリ部の説明 #
|
|
sale_year は諸般の事情で未設定が '0' か '' になっています。
なので ifnull(sale_year, '') を使って設定済みを判定しています。
設定済みなら substr(sale_year,1,3)||'0 年代' 、
未設定なら '' で抽出されます。
これにより例えば 1982-12-23 などに設定された日付は全て 1980 年代 に整形され、更に DISTINCT で纏められることになります。
アイテムリスト絞り込みクエリ部の説明 #
|
|
WHERE の中の CASE の中に条件式を書きました。
指定なし '' がクリックされると NOT ifnull(sale_year, '') により '0' '' 両方が抽出されます。
(グループセレクタ抽出と異なり NOT が付いて意味が反転しています。)
1980 年代 がクリックされたなら substr('@click-string',1,3) || '%' により 198% へ整形されます。
結果として sale_year LIKE '198%' で比較演算され、198 に前方一致する発売日データを持つアイテムがリストアップされます。