webleads-tracker

trier dans le catalogue

Vincent - StartUp
Bonjour à tous,

Dans un catalogue, je souhaiterais trier l'affichage des produits en cliquant sur l'un des titres de colonne (libellé, prix, ref...) comme sur beaucoup de boutique en ligne. Il y a bien le formulaire de tri au dessus mais comment faire le lien avec mes titres de colonnes.

Merci d'avance
Vincent Piquerel
Startup Communication

Thomas Hesse
Bonjour,

Le formulaire de tri envoie des requêtes en POSTant des paramètres de tri sur la page courante. Vous pouvez reprendre ces paramètres et les ajouter en GET sur des liens pour déclencher le même comportement.

En clair, si vous demandez un tri par libellé au formulaire de tri, il va POSTer sur la page courante deux valeurs :

- "sort_value" à la valeur "libelle" : c'est le paramètre sur lequel l'ordonnancement sera fait
- "sort_way" à la valeur "ASC" : c'est le sens de l'ordre (croissant ou décroissant).


Vous pouvez obtenir le même résultat en écrivant le lien suivant :

< a href="./?sort_value=libelle&sort_way=ASC">texte du lien </a>

Le plus simple pour connaître les valeurs possibles, c'est de regarder les valeurs dans le source du formulaire de tri. Vous pouvez également utiliser un plug-in de FireFox qui permet d'examiner ce qui est envoyé en POST/GET : URLParams.
--
Thomas - Chargé de support et d'assistance

Vincent - StartUp
Merci Thomas,

A+
Vincent Piquerel
Startup Communication

Vincent - StartUp
Pour donner suite à ce sujet, il est également possible de trier de la même façon dans l'annuaire :
http://socoba.startup35.atester.fr/notre-offre-terrains/category-2.html (demo/demo)

Exemple sur un catalogue :
http://espace-pl.com/notre-parc/porteurs/
Vincent Piquerel
Startup Communication

Vincent StartUp
Avatar
Toujours pour donner suite à ce sujet, il est possible de trier les résultats d'une recherche dans le catalogue en passant des parametres en GET (après une contribution refusée et un ticket me disant que ce n'est pas possible).
Pour cela il faut ajouter après l'url de recherche en cours :
-sortby=prix,asc ou -sortby=prix,desc

C'est juste dommage que les parametres passés ne sont pas les mêmes que pour le tri du catalogue.

Il est également possible de le faire en POST, suffit de reprendre les mêmes valeurs que le formulaire de tri dans la recherche.

Par exemple j'ai ajouté c'est 2 input hidden pour trier par nom dans le formulaire de recherche :
     <input type="hidden" name="sort_field" value="label|default"/>
     <input type="hidden" name="sort_direction" value="ASC"/>

Le fait de mettre "default" dans le sort_field permet de mettre cette valeur par défault dans le champ "trier par" du formulaire de tri
Vincent - StartUp Communication

Vincent StartUp
Avatar
Petit correctif presque un an après, pour trier en get dans la recherche du catalogue, pour le prix il faut mettre -sortby=price,asc. Dans mon cas ca marchait avec "prix" car le prix était une propriété additionnelle.

On peut également faire :
-sortby=price,asc
-sortby=label,asc
-sortby=propriétéadditionnelle,asc

En résumé il faut prendre les valeurs qu'il y a dans le select du tri de la recherche.
Vincent - StartUp Communication