0

getResources を使用して、日付型の TV に基づいてフィルタリングしようとしています。将来のイベントと過去のイベントのどちらかを表示できるフィルターを作成したいと考えています。

テレビ名 =voucherdate

私がやったことは次のとおりです。

次のように現在の日付スニペットを作成します。

<?php
return date('Y-m-d H:i:s');

次に、次の getResource を作成しました。

時事問題

[[!getResources?
  ...
  &tvFilters=`voucherdate>=[[curDate]]`
]]

過去のイベント

 [[!getResources?
      ...
      &tvFilters=`voucherdate<<[[curDate]]`
    ]]

しかし、それは機能していないようです。[[curDate]]テンプレートでのみ呼び出すことで、狙撃兵がどこで機能するかをテストして、現在の日付を示しています。

誰でもアドバイスをいただけますか。

ありがとう

4

1 に答える 1

0

すべてのテンプレート変数は文字列として保存されるため、文字列比較を行う必要があります.....これはおそらく getresources 呼び出しでは機能しません...

最善の方法は、日付文字列値をスニペットに渡し、そこで日付比較を行うことです。次のようになります。

[[!getResources? ...
&tvFilters=`[[!DateCompare? &date=`[[*voucherdate]]` &range=`future|past` ]]  == 'true']]
]]

DateCompare スニペットで日付をエポックまたは何かに変換し、true または false を返します...その後、getResources ~should~ 正しいリソースを返す必要があります...テストされていないと思います...私の頭の上。最初に日付をエポック値として保存したくない場合を除き... [とにかく良いでしょう]、しようとしていた文字列比較は「うまくいく」でしょう

于 2012-10-09T19:32:39.033 に答える