2012-12-19 40 views
0

我正在使用modx advsearch代碼段列出搜索結果。modx列出給定日期範圍內發佈的所有內容

[[!AdvSearch? 
&extractLength=`220` 
&queryHook=`ArticleSearchQHook` 
&extractEllipsis=`.` 
&contexts=`web,tech,data,main` 
&tpl=`articleSearchResult` 
&perPage=`10` 
&minChars=`2` 
&withTVs=`docGroup,post_category,post_subcategory,category` 
&fields=`pagetitle,longtitle,description,introtext,content,publishedon`]] 

我想顯示在給定日期範圍之間發佈的結果。所以我用datepicker插件使用2個文本框。我可以看到URl中的選定日期,如下所示

pubfromdate=2012-11-01&pubtodate=2012-12-18&search=tech&sub=Search 

如何過濾基於日期範圍的結果?

還有另一個問題,發佈在「時間戳」格式的專欄商店日期,你知道,我的文本字段接受「DMY」格式,但這不是什麼大問題,我認爲,我可以處理這個問題。

回答

1

使用這個鉤子在queryHook

<?php 

$andConditions = array(); 

if (!empty($_REQUEST['pubfromdate']) && $pubfromdate = strtotime($_REQUEST['pubfromdate'])) { 
    $andConditions['modResource.publishedon:>'] = "{$pubfromdate}:numeric"; 
} 

if (!empty($_REQUEST['pubtodate']) && $pubtodate = strtotime($_REQUEST['pubtodate'])) { 
    $andConditions['modResource.publishedon:<'] = "{$pubtodate}:numeric"; 
} 

if (!empty($andConditions)) { 
    $qhDeclaration = array(
     'qhVersion' => '1.2', 
     'andConditions' => $andConditions 
    ); 
    $hook->setQueryHook($qhDeclaration); 
} 

return true; 
+0

VASIS,您的解決方案工作完美。你再一次救了我。萬分感謝。 :)我花了整整一天的時間來解決這個問題,但方向不對。 –

+0

無論如何,我可以看到後面運行的查詢嗎?所以我可以更清楚這件事情是如何工作的? –

+1

在文檔中查看'queryHook'的例子 - http://www.revo.wangba.fr/advsearch-documentation.html也許這個幫助。 – Vasis

相關問題