イベントを管理するためのチャネルがあり、過去のイベントの表示などの一般的な操作を実装したいときに問題が発生します。現在および将来のイベントを確認したい場合は、次の方法で取得できると思います。
{exp:channel:entries channel = "events" show_future_entries = "yes" show_expired = "no" orderby = "{date}" sort = "asc" dynamic = "no" start_on = ""}
ここで、$entry_dateの形式はYYYY-MM-DDHH:MM(例:2011-08-02 11:00)です。
イベントは次の順序で表示されます。
2012-08-02 11:00
2012-09-02 11:00
2012-10-02 11:00
2012-11-02 11:00
ただし、2012-08-02 11:00のイベントを含めずに表示しています(EEが行う比較は> =ではなく>のようです)
また、過去のイベント(すでに期限切れのようにマークされています)を整理して、年ごとに表示します。
{exp:channel:entries channel = "events" show_future_entries = "no" show_expired = "yes" orderby = "{date}" sort = "desc" dynamic = "no" year = "" start_on = ""}
私の過去の出来事は次のとおりです。
2011-08-02 11:00
2011-09-02 11:00
2011-10-02 11:00
2011-11-02 11:00
および$entry_date= 2011-10-02 11:00
次のように表示されます。
2011-10-02 11:00
2011-09-02 11:00
2011-08-02 11:00
そしてそれを間違った順序で表示します。
実際、問題は次のとおりです。
- 現在および将来のイベントの場合、event=start_onパラメーターは結果に含まれません。
- 過去のイベントの場合、間違った順序でイベントが表示されます(最も古いイベントが最初に表示されます)。
私のコードに何か問題があるかどうか誰かに教えてもらえますか?
私はEE2.4.0を使用しており、これらの操作を実行しようとするテンプレートの入力でphpが有効になっています。