je suis un peu paumé...
Normal, AjaxSearch n’est pas un des snippet les plus facile à appréhender. Ni le mieux documenter, d’ailleurs.
Comment puis-je afficher les résultats de la recherche soit sous forme de lien (cas d’un article) ou d’une image ?
En fait tu peux faire des recherches dans un document (par défaut) mais aussi dans les tables de maxigallery ou de jot (commentaires).
Pour cela il te faut utiliser le paramamètre &whereSearch. Par défaut &whereSearch=``content,tv`. Ce qui signifie que la recherche se fait dans les documents et les variables de templates. Pour ajouter les tables de maxigallery, tu ajoutes: &whereSearch=`content|tv|maxigallery` dans les appels de snippet AS
La demo du site la plus parlante est sur
http://www.modx.wangba.fr/index.php?id=247
[!AjaxSearch? &documents=`104,155` &language=`english-utf8` &ajaxMax=`10` &searchWordList=`galWordList` &whereSearch=`content:null|maxigallery|jot` &tplLayout=`optionMultipleList` &tplAjaxResult=`withMaxigalleryJotAjaxResult`!]
Ici, je fais une recherche dans les galeries #104 et #155. j’utilise le mode ajax (tu peux bien sur utiliser le mode non-ajax: &ajaxSearch=`0`). Comme je limite la liste des mots à rechercher j’utilise le paramètre searchWordList. Ici &whereSearch=`content:null|maxigallery|jot` signifie que je recherche exclusivement dans les tables maxigallery et jot. content:null, exclus la recherche dans les docs.
&tplLayout=`optionMultipleList` définit le chunk à utiliser comme template layout a utiliser pour afficher le formulaire de saisie (input field and radio boxes)
&tplAjaxResult=`withMaxigalleryJotAjaxResult` définit le chunk à utiliser comme template pour l’affichage des résultats. Voici sa forme:
<div class="[+as.resultClass+]">
<a class="[+as.resultLinkClass+]" href="[+as.resultLink+]" title="[+as.longtitle+]">[+as.pagetitle+]</a>
[+as.descriptionShow:is=`1`:then=`
<span class="[+as.descriptionClass+]">[+as.description+]</span>
`+]
[+as.gal_idShow:is=`1`:then=`
<br />[!MaxiGallery? &pic_query_ids=`[+as.gal_id+]` &galleryPictureTpl=`subSearchGalleryPictureTpl`!]
`+]<br />
[+as.jot_contentShow:is=`1`:then=`
<div class="[+as.jot_contentClass+]">[+as.jot_content+]</div><br />
`+]
[+as.extractShow:is=`1`:then=`
<div class="[+as.extractClass+]"><p>[+as.extract+]</p></div>
`+]
[+as.breadcrumbsShow:is=`1`:then=`
<span class="[+as.breadcrumbsClass+]">[+as.breadcrumbs+]</span>
`+]
</div>
Tu noteras que j’utilise un appel maxigallery pour afficher l’image retournée par la recherche:
[!MaxiGallery? &pic_query_ids=`[+as.gal_id+]` &galleryPictureTpl=`subSearchGalleryPictureTpl`!]
Si c’est encore obscur, n’hésites pas ...
J’ai prévu de publier sous forme de How-to une doc utilisateur un peu plus conviviale que le wiki. Mais bon probablement pas avant cet hiver.