Salut à tous,

J'ai mis en place un système de pagination pour un moteur de recherche. Tout fonctionne correctement.
Le seul petit souci c'est que quand je change de page il y a 2 paramètres dans l'URL : sort et direction.
Ces paramètres sont ajoutés parce que je demande à afficher le résultat dans un ordre précis.

Existe-il une façon pour que les 2 paramètres sort et direction n’apparaissent pas dans l'URL lors des changements de pages ?

Merci par avance pour vos réponses.

Birzat

3 réponses


Et en ajax? le helper Paginator à l'option update et url qui je penses te permettent de faire ton classement discrètement
http://book.cakephp.org/2.0/fr/core-libraries/helpers/paginator.html#utilisation-de-parametres-get-pour-la-pagination

Birzat
Auteur

Merci pour la réponse.
Je vais regarder ça de prêt pour voir comment ça marche.

Par contre, j'ai d'autres paramètres dans l'URL que j'utilise et que je souhaiterai garder. Si c'est possible je ne souhaite pas utiliser l'ajax.
Il doit y avoir une solution pour que la pagination n'envoie pas les paramètres sort et direction lorsque l'on choisit de trier le résultat.
Mais malgré mes recherches je reste sans solution.

Si vous avez une piste n'hésitez surtout pas.

Birzat

Tu as aussi l'utilisation des sessions
http://book.cakephp.org/2.0/fr/core-libraries/components/sessions.html
ou au mieux les cookies comme ça tu sauvegardes ses préférences de tri et de direction (avec un bouton "réinitialiser les préférences de tri et de direction [ici t'affiche le tri choisis]" pouf!!! tu détruis le cookie en question :)
http://book.cakephp.org/2.0/fr/core-libraries/components/cookie.html
Tu as l'embarras du choix, longtemps (cookies) ou pas longtemps (sessions)

PS: avec le cookie ou la session tu sauvegardes également le contrôleur et l'action qui sont dans $this->params (je crois) ainsi tu mélange pas tes tris et tu peux avoir plusieurs configs :)