2013
jan
2





Solution bug panier vide de Prestashop 1.5

Prestashop, un outil merveilleux lorsqu'il s'agit de faire un site marchand avec une solution Open Source, complète, ergonomique et rapide... mais aussi un enfer lorsqu'un bug est détecté après la mise en production !

Problème

Si vous êtes sur cet article c'est que vous avez certainement rencontré le même problème. Dans des cas aléatoires (enfin pas vraiment), le panier se vide automatiquement et il est même impossible de s'identifier.
Très embêtant car, alors que la commande peut parfaitement se dérouler pour un client, elle peut devenir impossible pour un autre. Imaginez la perte de chiffre d'affaires que cela peut représenter sur un mois, voir sur une année !

Cause

Le problème est simple, pour enregistrer votre panier ou votre connexion, Prestashop 1.5 se sert de ce que l'on appel des cookies. Cependant ils semblent mal utilisés !

  • Si vous êtes sur maboutique.com : ok ;
  • Si vous êtes sur www.maboutique.com : ok ;
  • Si vous êtes sur maboutique.com avec une redirection 301 vers www.maboutique.com : fail.

Prestashop 1.5 semble avoir du mal à gérer la transmission de cookies d'une page à l'autre, un problème amplifié lorsqu'il s'agit d'une redirection 301. Il en résulte donc une perte

Solution

Ouvrez le fichier /classes/shop/Shop.php.

Vers la ligne 330, commentez (ou supprimez) les lignes 331 et 322 comme ci-dessous :

Sauvegardez et effacez vos cookies.

Votre chiffre d'affaires vous dira merci !

PS : solution testée sur Prestashop 1.5.0.17.

21 Comments to “Solution bug panier vide de Prestashop 1.5”

  • Antoine Subit 25 janvier 2013 à 18 h 10 min

    Bonjour,

    j’ai fait exactement ce qui est expliqué dans votre tutoriel mais ça ne change rien, mon problème persiste sur Google Chrome …

  • Alexandre 25 janvier 2013 à 18 h 15 min

    Est-ce que tu as essayé avec un autre navigateur ou en navigation privée ?

    Pour tester que l’astuce fonctionne, je suis passé en navigation privée sous chrome, j’ai ensuite accédé à la boutique Prestashop 1.5 sans les www et j’ai testé ensuite si ça fonctionnait.

    Si ça fonctionne en navigation privée mais pas en fonctionnement « normal », il faut penser à vider les cookies.

  • Nicolas 31 janvier 2013 à 1 h 23 min

    Bonjour Alexandre.
    J’ai moi aussi testé votre solution mais sans effet non plus, comme Antoine.
    (Je suis sous Chrome aussi).
    Je n’ai pas vidé le cache de GC car je me dis que s’il faut faire ça pour que ça marche, il faudra que le client le fasse aussi à chaque fois, non ?
    Et « obliger » le client à vider son cache de navigateur, ça risque d’être compliqué ! Non seulement parce que tous ne vont pas comprendre de quoi je leur parle, et les autres ne vont pas se sentir rassurés…)

    Maintenant, je comprends bien qu’il s’agit d’une histoire de cache, car cela marche sous IE et Firefox, que je n’utilise que pour ce genre de test…Et donc, je pense que si je vidais mon cache sous GC cela fonctionnerait sans doute à nouveau.
    MAIS : je ne le fait pas car ce problème revient de manière récurrente, sans prévenir, et j’aimerai le régler de manière définitive…et « vider le cache » est une solution « ponctuelle », non ?
    (je précise que, pour tester, j’ai vidé le dossier /thèmes/défaut/cache de ma boutique mais sans résultat…)

    Merci beaucoup de votre aide.

  • Alexandre 31 janvier 2013 à 10 h 28 min

    Bonjour Nicolas,

    Merci pour votre commentaire. En fait vider le cache que ce soit de Google Chrome, Internet Explorer ou Firefox devrait résoudre le problème. Pour faire simple, il s’agit ici de virer le cookie qui pose problème qui ensuite sera généré d’une façon plus conforme.

    Donc pour vos clients qui arrivent sur votre site pour la première fois, ce sera transparent. Pour ceux qui sont déjà venus par votre site, ils auront juste à vider le cache du navigateur une seule fois ou attendre que le cookie expire.

    Notez que je comprend bien votre problématique car c’est un sujet qui a empêché de mettre en production une boutique pour cette raison.

    En bref, si en vidant le cache de votre Google Chrome (ou n’importe quel autre navigateur) le problème disparaît, il disparaîtra aussi pour vos clients et ce définitivement.

  • francois 11 février 2013 à 22 h 14 min

    Bonsoir,

    effectivement en 1.5.2, cette méthode fonctionne, mais problème : dans le B.O impossible d’éditer mes produits, de d’enregistrer des modifications etc…j’obtiens cette erreur :

    Une erreur s’est produite pendant la mise à jour de l’objet. product ()

    Help ? Quelqu’un saurait comment y remédier ?

  • Malilibulle 20 février 2013 à 11 h 48 min

    Wow !!

    Merci beaucoup pour cette manip, ça fait un moment que je m’arrache les cheveux !!

    Bonne journée !

  • Stéphane 22 février 2013 à 23 h 16 min

    Pour ma part ce problème à été réglé facilement en enlevant dans SEO et URLs > Url de la boutique les www. devant le nom de domaine

  • tictac 3 mars 2013 à 14 h 53 min

    Bonjour,

    J’ai essayé cette solution. Le probleme semblait etre resolu sauf que au bout de 2 jours le probleme est reapparu…
    Quelqu’un aurait il une autre idee?

    Version : 1.5.2

    Merci.

  • Anaël 14 mars 2013 à 21 h 03 min

    Merci beaucoup pou cette solution.

    En espérant que le problème soit régler définitivement.

  • gep 16 mars 2013 à 17 h 48 min

    Hello, j’ai testé mais ça ne résoud pas le souci pour ma part…
    c’est ok sur chrome mais le panier se vide systématiquement sous IE9 :-(
    Toutes les suggestions / pistes sont les bienvenues ;-)

  • Alexandre 16 mars 2013 à 19 h 39 min

    Salut !

    Tu as bien pensé à vider tes cookies sous IE également ?

    Beaucoup testent la solution juste en actualisant la page, pourtant il faut bien penser à vider les cookies pour que cela fonctionne.

  • David 12 avril 2013 à 13 h 05 min

    Même problème… Alexandre, vider les cookies c’est bien jolie mais la plupart des client n’auront pas ce réflexe et passeront leur chemin…

  • Alexandre 12 avril 2013 à 14 h 28 min

    @David : Vider les cookies n’est nécessaire que pour les les visiteurs connus. Pour les nouveaux visiteurs, le bug n’apparaîtra plus. Dans mon cas le problème a été détecté dès le lancement de la boutique donc aucun problème…

  • Céline 27 mai 2013 à 13 h 26 min

    Bonjour,
    j’ai également un soucis de bug sur l’ajout dans le panier.
    j’ai déja parcouru pas mal de forum et tester toutes les manips décrites pour corriger le soucis dans succès.
    j’ai désactivé le made Ajax pour l’ajout des produits dans le panier. Le fait est que si un utilisateur n’est pas connecté sur mon site, il ne peut ajouter aucun produit dans son panier. En réalité, en BDD, le panier est bien sauvegarder. mais si le client un seconde foi d’ajouter un produit dans son panier, en BDD c’est un second panier qui se créée…. je ne sais pas si je suis très clair mais je suis au bord de la syncope et je ne trouve null part comment corriger ce pb.
    Pour info, je reproduis le bug sur tous les navigateurs, que le cache ait été vidé ou non.
    j’utilise la toute dernière version de prestashop.
    Vous pouvez constater le bug sur mon site.
    Merci pour votre aide….

  • Céline 27 mai 2013 à 13 h 27 min

    pardonnez moi pour les fautes de frappe :)

  • Romain 8 novembre 2013 à 11 h 22 min

    Bonjour,

    même problème pour moi. De plus je ne trouve pas les lignes correspondantes dans mon fichier shop.php. J’utilise la version 1.5.4.1

    Je suis moi aussi au bord de la syncope car cela bloque totalement le business de mon site :(

  • Baptiste 8 janvier 2014 à 17 h 49 min

    Bonjour,

    Je rencontre actuellement ce problème, seulement ces lignes de code n’apparaissent plus dans le fichier Shop.php!
    Si possible, il serait bien d’actualiser les nouvelles lignes a éditer pour ma part.

    Merci d’avance pour votre aide.

    Cordialement.

  • Alex 9 avril 2014 à 23 h 53 min

    Bonjour,

    Je rencontre le meme problème avec IE11 est les themes en DEMO que vous proposé.
    Du coup je risque de rencontrer le meme problème , une fois le theme acheté!
    J’ai vidé les cookies j’ai le meme probleme, en revanche sous Chrome ca fonctionne.
    Pouvez vous apporter une solution?

    Cdt,

  • bibop2255 16 novembre 2014 à 20 h 24 min

    Bonjour,

    je vois que le post date un peu, quelqu’un a-t-il pu avoir une solution ?
    J’ai une 1.5.2 et le problème du panier qui se vide persiste.
    En effet quand on vide les cookies ça fonctionne mais je ne peux pas demander à chaque utilisateur qui vient sur le site de les vider …

    Ce problème devient très gênant

    Cordialement

  • Charles Dejean 20 mai 2015 à 17 h 34 min

    Bonjour,

    J’ai eu les même problèmes sur Prestashop 1.5.6.1 (ajout impossible d’un produit au panier, impossible de se connecter dans un compte client, etc.) et je les ai résolus en réglant la durée de vie des cookies dans Administration > Préférences. Effectivement, j’avais réglé la durée de vie des cookies à 1h et ceci, Internet Explorer ne l’apprécie pas du tout, pourtant ça marche très bien sur Chrome, Firefox et Opera.
    Et depuis que j’ai mis la durée de vie des cookies à 24h ou voir plus, ça marche sur tous les explorateurs.

    J’espère mon expérience vous a aidé.

    Cordialement

  • oreys 28 juillet 2017 à 20 h 55 min

    Bonjour,

    je suis en version 1.6.1.12 et je rencontre le même souci, avez vous réussi à résoudre le problème de cookies?

    Mon cookies est beaucoup trop long et fait buggé la connexion…
    Bref je ne sais plus quoi faire :(

    Merci beaucoup pour votre aide!

Poster un commentaire

Mes tweets

Mes sites

Sites amis