2012-12-19 1 views
0

J'utilise modx advsearch snippet pour lister les résultats de recherche.modx liste tous les contenus publiés entre la période donnée

[[!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`]] 

Je souhaite afficher les résultats publiés entre les dates indiquées. Donc j'utilise 2 zones de texte avec plugin datepicker. Je suis en mesure de voir les dates sélectionnées dans URl comme ci-dessous

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

Comment résultat peut filtrer i en fonction de la plage de dates? Il ya un autre problème, publié sur colonne stocke la date au format "timestamp" comme vous le savez et mes champs de texte accepte le format "DMY", mais ce n'est pas un gros problème, je pense, je peux gérer ce problème.

Répondre

1

utilisent ce crochet dans 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, votre solution a fonctionné parfaitement. Une fois de plus tu m'as sauvé. Merci beaucoup. :) J'ai passé toute la journée à résoudre cela, mais dans la mauvaise direction. –

+0

Y at-il de toute façon je peux voir la requête en cours d'exécution derrière cela? Donc, je peux être plus clair comment cette chose fonctionne? –

+1

Voir des exemples de 'queryHook' dans la documentation - http://www.revo.wangba.fr/advsearch-documentation.html peut-être cette aide. – Vasis

Questions connexes