JoeSatriani Posted October 25, 2012 Share Posted October 25, 2012 (edited) 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 October 25, 2012 by JoeSatriani (see edit history) Link to comment Share on other sites More sharing options...
SoluNeXT Posted October 25, 2012 Share Posted October 25, 2012 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é!!!) Retrouvez-moi sur http://solunext.fr ou sur https://www.facebook.com/solunext.sas Link to comment Share on other sites More sharing options...
JoeSatriani Posted October 25, 2012 Author Share Posted October 25, 2012 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 More sharing options...
SoluNeXT Posted October 25, 2012 Share Posted October 25, 2012 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 ! Retrouvez-moi sur http://solunext.fr ou sur https://www.facebook.com/solunext.sas Link to comment Share on other sites More sharing options...
JoeSatriani Posted October 25, 2012 Author Share Posted October 25, 2012 (edited) 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 October 26, 2012 by JoeSatriani (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now