まとめておきます。(0.9.6系について)…すみませんが、Revolution系についてはわかりません。
概要
テンプレート変数に入力した日時を超えたかどうかでリスト表示を絞り込む。
具体例
テンプレート変数で、イベント終了日時を入力し、終わったイベントだけをリスト表示する。(もしくは、逆に終わっていないイベントだけをリスト表示する。)
問題点
入力タイプに「Date」を設定しただけでは、日時の文字「%d-%b-%Y %H:%M:%S」で記録されるので、Dittoのフィルタ(比較条件)などに使えない。
解決方法
ウィジェット「Unixtime」を使用して、数値(Unixtime)に変換する。
実装のポイント
1.日時用のテンプレート変数
・入力タイプに「Date」を設定する。
・ウィジェットに「Unixtime」を設定する。
2.リスト表示
Dittoスニペットを使って、終わった(テンプレート変数に入力した日時を超えた)ものだけを表示する場合、
以下のようなフィルタを設定する。
[!Ditto? &filter=`hogehoge,@EVAL return time();,4`!]
※「hogehoge」の部分は、実際のテンプレート変数名を入れる。
※逆に、終わっていない(テンプレート変数に入力した日時に達していない)ものだけを表示する場合は「4」を
「3」「5」逆の判定(*1)に変えれば良い。
(*1)Dittoのフィルタの大小比較は以下のようになっています。
- 3:<
- 4:>
- 5:≦(実際はバグで≧)
- 6:≧(実際はバグで≦)
★Dittoのフィルタの「5」「6」は判定が逆というバグがあるとのことで、該当箇所を訂正しました。(2009-02-07)