walmediapro Posted January 25, 2013 Share Posted January 25, 2013 (edited) Bonjour tout le monde, j’espère que toute la famille prestashop et ses FUN vont bien , et bonne années à tous. Alors voila, j'aurai besoin de rajouter une deuxième action au btn "Ajouter au panier", par exemple quand je clique dessus le produit se rajoute dans le panier + la page se réactualise. J'ai essayer de rajouter une action "onclick" avec une fonction java script "location.reload", ça m'affiche un message d'erreur que le produit ne peux pas se rajouter au panier. je suis sur 1.5.2 , j'ai biens fouillé le forum pour voir si ce problème est déjà entamé, mais j'ai rien trouvé à moins que je me trompe. Merci d'avance pour tout aide Edited January 25, 2013 by walmediapro (see edit history) Link to comment Share on other sites More sharing options...
T4GAD4 Posted January 25, 2013 Share Posted January 25, 2013 salut, En php tu peut faire un refresh de la page grace a: $delai="temps avant refresh"; $url='url de la page'; header("Refresh: $delai;url=$url"); maintenant reste a savoir ou tu dois le placer! Link to comment Share on other sites More sharing options...
walmediapro Posted January 25, 2013 Author Share Posted January 25, 2013 Merci T4GAD4 pour votre réponse, le problème c'est que je ne peux pas l’intégrer en PHP vu que le "Refresh" doit être lié à l'action du bouton "add to cart" et l'action de cette dernière est en JAVA SCRIPT. J'ai essayé avec "window.location.reload();" mais ça m'affiche un message d'erreur "Impossible to add the product to the cart.", même si on cliquant sur OK du message d'erreur ça "Refresh" la page. Merci tout de même pour votre réponse Link to comment Share on other sites More sharing options...
walmediapro Posted January 27, 2013 Author Share Posted January 27, 2013 Salut tout le monde, UN petit UP pour ma problématique Toute suggestion, idée, piste, conseil est la bienvenu. Link to comment Share on other sites More sharing options...
ricomico Posted January 28, 2013 Share Posted January 28, 2013 Salut, Alors, quand tu clique sur le bouton "ajouter au panier", une requête Ajax est envoyée au serveur, ce qui ajoute ton produit à ton panier. Le serveur renvoie ensuite les produits de ton panier, qui sont ensuite afficher dynamiquement (avec même un petit effet d'image qui bouge pour les plus gourmands !) Ce que tu pourrais faire, c'est qu'au lieu de renvoyer le panier, tu renvoie juste un message "success" par exemple. Ça doit se trouver dans le module blockcart. Ensuite,côté site, tu as un script javascript qui permet d'envoyer la requête Ajax et de la traiter. C'est le fichier blockcart/ajax-cart.js. Il faut que tu passe cette requête Ajax en synchrone (pour pouvoir attendre la réponse du serveur sans poursuivre le traitement), et en cas de réponse "success" du serveur, tu peux faire le window.location. Une autre méthode serrait de modifier ton formulaire qui contient le bouton d'ajout au panier (product.tpl), en enlevant l'action du formulaire (pour qu'il se recharge sur la même page), et en cas de réponse "success" renvoyer simplement "true" (ce qui continuera l'action et validera le formulaire et donc redirigera vers la même page). Link to comment Share on other sites More sharing options...
walmediapro Posted February 4, 2013 Author Share Posted February 4, 2013 Salut, Alors, quand tu clique sur le bouton "ajouter au panier", une requête Ajax est envoyée au serveur, ce qui ajoute ton produit à ton panier. Le serveur renvoie ensuite les produits de ton panier, qui sont ensuite afficher dynamiquement (avec même un petit effet d'image qui bouge pour les plus gourmands !) Ce que tu pourrais faire, c'est qu'au lieu de renvoyer le panier, tu renvoie juste un message "success" par exemple. Ça doit se trouver dans le module blockcart. Ensuite,côté site, tu as un script javascript qui permet d'envoyer la requête Ajax et de la traiter. C'est le fichier blockcart/ajax-cart.js. Il faut que tu passe cette requête Ajax en synchrone (pour pouvoir attendre la réponse du serveur sans poursuivre le traitement), et en cas de réponse "success" du serveur, tu peux faire le window.location. Une autre méthode serrait de modifier ton formulaire qui contient le bouton d'ajout au panier (product.tpl), en enlevant l'action du formulaire (pour qu'il se recharge sur la même page), et en cas de réponse "success" renvoyer simplement "true" (ce qui continuera l'action et validera le formulaire et donc redirigera vers la même page). Merci pour t'as réponse, Je vais essayer ça, même si mes connaissances en Ajax sont trop modestes 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