Jump to content

Passage de paramètres dans l'url [RESOLU]


Recommended Posts

Bonjour à toutes et à tous,

 

Je développe pour mon entreprise un site d'e-commerce sous prestashop 1.4.

 

J'ai donc effectué quelques modifications sur le site, j'ai crée une recherche avancée qui permet de sélectionner une catégorie de produit, un fabricant et plusieurs options diverses.

 

J'ai voulu intégrer une pagination à la recherche, mais je coince la dessus, les paginations du site son très simple étant donnés qu'il n'y a qu'un seul paramètre en compte.

 

Mon problème est qu'il faut que je puisse passer en paramètres, dans l'url, toutes les modif du formulaire.

 

Est-il possible de réaliser une pagination avec un formulaire sous prestashop ?

 

Cordialement.

Edited by JoeSatriani (see edit history)
Link to comment
Share on other sites

Bonjour à toutes et à tous,

 

Je développe pour mon entreprise un site d'e-commerce sous prestashop 1.4.

 

J'ai donc effectué quelques modifications sur le site, j'ai crée une recherche avancée qui permet de sélectionner une catégorie de produit, un fabricant et plusieurs options diverses.

 

J'ai voulu intégrer une pagination à la recherche, mais je coince la dessus, les paginations du site son très simple étant donnés qu'il n'y a qu'un seul paramètre en compte.

 

Mon problème est qu'il faut que je puisse passer en paramètres, dans l'url, toutes les modif du formulaire.

 

Est-il possible de réaliser une pagination avec un formulaire sous prestashop ?

 

Cordialement.

 

Quelques questions se posent je pense...

 

La pagination est bien destinée à l'affichage du résultat de la recherche?

Le formulaire de recherche est-il toujours affiché sur chacune des pages de résultat?

Souhaitez-vous réellement que votre visiteur ai une vue sur les paramètres de recherche dans son URL (sachant qu'il est alors possible de faire des modifications de ces paramètres pour accéder à d'autres informations... Problème de sécurité!!!)

 

Link to comment
Share on other sites

Bonjour à toi SoluNext, merci de ta réponse, je vais maintenant répondre à tes questions.

 

C'est vrai que je n'ai pas été très précis.

En fait, la recherche avancée se compose d'un formulaire permettant de renseigner la catégorie, le fabricant, etc..

Et lors de la recherche, le formulaire reste affiché en haut de pages et le résultat suit juste en dessous.

Le problème est que je n'ai pas de pagination donc le résultat de nombreux produits ralenti énormément l'affichage.

 

Je souhaiterai coder une pagination pour le résultat uniquement mais sans que je perde les infos qu'il y a sur le formulaire de recherche.

Il est vrai que je ne me suis pas posé la question quant à la sécurité concernant les données envoyé dans l'url.

 

Que me conseillez-vous ?

 

Cordialement.

Link to comment
Share on other sites

Bonjour à toi SoluNext, merci de ta réponse, je vais maintenant répondre à tes questions.

 

C'est vrai que je n'ai pas été très précis.

En fait, la recherche avancée se compose d'un formulaire permettant de renseigner la catégorie, le fabricant, etc..

Et lors de la recherche, le formulaire reste affiché en haut de pages et le résultat suit juste en dessous.

Le problème est que je n'ai pas de pagination donc le résultat de nombreux produits ralenti énormément l'affichage.

 

Je souhaiterai coder une pagination pour le résultat uniquement mais sans que je perde les infos qu'il y a sur le formulaire de recherche.

Il est vrai que je ne me suis pas posé la question quant à la sécurité concernant les données envoyé dans l'url.

 

Que me conseillez-vous ?

 

Cordialement.

 

Savez-vous coder en ajax / jquery ? Ca peut aider... car par ce biais, vous ne chargez plus toute la page, mais uniquement la zone de résultat.

Il existe un grand nombre d'exemple permettant de créer de la pagination sur le web.

 

Je vois 2 solutions à votre problème.

 

1. Votre requête retourne TOUS les résultats, chargés dans le navigateur sous forme de pages (la première visible, les suivantes cachées), mais avec un affichage géré en jquery passant d'une page à l'autre avec 2 boutons.

Avantages... Tout est là, 1 seul appel au serveur, 1 seule requête SQL... Scripts d'affichage coté client = allègement de votre serveur... Affichage rapide d'une page à l'autre.

Inconvénients... Tout est chargé en une seule fois... Si le catalogue est gros, ça peut prendre un certain temps, même si l'affichage de la première page est fait alors que tout n'est pas récupéré... Mange de la mémoire chez le client.

 

2. Votre requête retourne uniquement les éléments de la page 1. Cette page contient les boutons suite et précédent, boutons gérés en javascript et qui appelleront le serveur pour obtenir les autres pages en envoyant à nouveau les infos du formulaire + le numéro de la page

Avantage... Rapide à afficher

Inconvénients... Pas mal de codage à faire... Plusieurs requêtes côté serveur, plusieurs requêtes SQL quasiment identiques générées... Affichage plus lent

 

Alors, il y a une 3ème solution, un mix des deux...

-> Chargement de la première page...

-> Affichage de cette première page...

-> Chargement des pages suivantes en arrière plan, 1 à une OU chargement à la demande (clic bouton suivant) et gardant ces pages en mémoire coté client.

 

Bref, pas si simple.

 

Mais j'espère que ces éléments vous auront donné les pistes à consulter.

 

N'hésitez pas à me contacter, ici ou en MP !

 

Link to comment
Share on other sites

Merci pour ces réponses complètes et précises!

 

Pour ma part je pense opter pour la deuxième solution car je ne suis, malheureusement, pas très doué en ajax/jquery mais j'aime bien coder, sa ne peut faire que du bien!

 

Je vous recontacterai si besoin!

 

Cordialement.

Edited by JoeSatriani (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...