0

MODx Revolution で、getResources とカスタム日付 TV (press-release-date と呼ばれる) を使用しているときに、結果を年で制限するにはどうすればよいですか (URL パラメーターを使用して年を設定すると、任意の年を入力できます)。

たとえば、私の URL には page.html?year=2012 があります

getResources からの結果には、その年に関連するものだけが含まれるようにします。私は &where プロパティを使用したいと考えています (もしそうなら、私は確かにフォーマットを台無しにしています):

&where=`{"press-release-date":[[*press-release-date:strtotime:date=`%Y`]:isequalto:`2012`]}`

私も試してみました

&where=`{[[*press-release-date]]:[[*press-release-date:strtotime:date=`%Y`]:isequalto:`2012`]}`

ありがとう!

更新:これは私が現在使用している完全なコードです:

[[!getResources?
    &parents=`780,781,782,783,784`
    &tpl=`list-press-tpl`
    &limit=`1000`
    &sortdir=`DESC`
    &includeTVs=`1`
    &includeContent=`1` 
    &depth=`0`
    &showHidden=`1`
    &sortbyTV=`press-release-date`
    &where=`{[[*press-release-date]]:[[*press-release-date:strtotime:date=`%Y`]:isequalto:`2012`]}`
]]
4

2 に答える 2

0

&tvFilters属性を使用する場合:http ://rtfm.modx.com/display/ADDON/getResourcesおそらく&includeTVs、&includeTvsList、および〜おそらく〜&processTVListも使用する必要があります。URLから投稿値を削除する方法については、すべてのURL変数を取得し、それらをプレースホルダーとして設定する簡単なスニペットを作成する必要がある場合があります。次のようなもの:

foreach($_POST as $key => $value){

$modx->setPlaceholder($key,$value);

}

次に、それらにアクセスできるはずです。

&where=`{[[*press-release-date]]:[[*press-release-date:strtotime:date=`%Y`]:isequalto:`[[+year]]`]}`

推測では...テストされていません。:)

于 2012-06-06T18:41:13.610 に答える
0

tvFilters代わりに試すことができます。ただし[[+year]]press-release-date日付形式に変換し、インターリーブ内の検索を制限する必要があります。

&tvFilters=`press-release-date>=[[+year:dec:strtotime]]||press-release-date<=[[+year:strtotime]]`
于 2012-06-07T13:52:18.263 に答える