Forums fragento
Accueilvue en cascadeRèglesAide
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Re:Vider Panier (1 lecteur(s)) (1) Invité(s)
Aller en bas Répondre
SUJET: Re:Vider Panier
#3807
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 3 Semaines Karma: 0  
J'ai beau chercher, je ne vois pas.
Selon moi c'est la fonction deleteAction() du fichier CartController.php qui doit vider le panier et elle ne semble supprimer effectivement qu'un id.
j'ai vérifié dans le fichier de la 1.1.3, elle est identique.

S'agit-il de la bonne fonction?
S'agit-il d'un réel bug ou cela viendrait-il de ma configuration selon vous?
 
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
#3817
nicolas46 (Utilisateur)
Expert Boarder
Messages: 130
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin
Re:Vider Panier Il y a 2 Mois, 3 Semaines Karma: 0  
Bon il faudrait peut être que tu nous fasses des screen shot de ton problème, parce que je viens de faire quelques tests et sa marche chez moi :

En tant que client : ajout d'un produit bundle contenant 2 produits dans mon panier.
En tant qu'admin : je vais voir le panier client (customer>manage customer>mon client>shopping cart du menu à gauche) et là il n'y a un seul produit : le produit bundle. Je le supprime (delete) et là mon client se retrouve bien avec un panier vide en frontend et en backend.

Peut-être mon test ne correspond pas au scénario qui conduit à ton problème, essaye s'il te plait d'expliquer d'avantage comment tu arrives à ce bug (screen shot ou autre...)
 
  L'administrateur a désactivé l'accès public en écriture.
#3825
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 3 Semaines Karma: 0  
Bon.
Voilà donc en image sur des achats d'ensembles de lingerie.
Mon bundle est l'ensemble qui est constitué de deux produits simples (1 string avec sa taille + un soutien-gorge avec sa taille et son bonnet)
Le client part avec un panier vide, je vérifie dans l'admin, il n'y a effectivement aucun produit :


Le client ajoute un ensemble dans son panier :


il est redirigé vers son panier avec un ensemble a 52€ :


je vais dans la vue client dans l'admin et là je vois dans son panier 3 produits : l'ensemble + les 2 produits simples qui le constituent :


Le client supprime l'ensemble de son panier, pour lui, son panier est vide :


Je vérifie dans l'admin, dans la vue client, l'ensemble a bien été supprimé, mais les 2 produits simples sont toujours là :


Si je vais voir dans la rubrique panier, il n'y a pourtant rien :


Ce qui est gênant, c'est pour le client. le premier ensemble ne lui plaisait pas il veut en ajouter un autre. il ajoute un ensemble à 53€ :


il est redirigé vers son panier et là on voit bien son nouvel ensemble à 53€, mais un total pour le panier de 105€:


Je regarde dans l'admin sa vue contient les 2 produits simples précédament coincés + le nouvel ensemble + les 2 nouveaux produits simples qui le constituent :


Si je vais dans la rubrique panier, il n'y a que l'ensemble nouvellement ajouté :


Bref, après un nouveau vidage du panier par le client :


je me retrouve avec 4 produits simples coincés dans son panier (dans sa vue) :


Mais un panier apparament vide :


si le client refait un essai avec un nouvel ensemble la valeur de son panier sera 105€ + le prix du nouvel ensemble ... etc
 
 
Dernière édition: 28-08-2008 à 14:26 Par JimB.
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
#3835
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 3 Semaines Karma: 0  
bon, l'issue serait ici et il s'agirait bien de la fonction deleteAction() : http://www.magentocommerce.com/bug-tracking/issue?issue=2513
je vais modifier la fonction pour voir ce que ça donne
 
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
#3843
nicolas46 (Utilisateur)
Expert Boarder
Messages: 130
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin
Re:Vider Panier Il y a 2 Mois, 3 Semaines Karma: 0  
Autant pour moi, le test que j'avais fait ne suivait pas exactement le scénario qui t'a conduit au bug.
 
  L'administrateur a désactivé l'accès public en écriture.
#3888
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 2 Semaines Karma: 0  
Le bug est corrigé pour moi en remplacent la fonction deleteAction par celle ci :
Code :
public function deleteAction() { $id = (int) $this->getRequest()->getParam('id'); if ($id) { $_items = $this->_getCart()->getItems(); foreach($_items as $item){ if($item->getData('item_id') == $id && $item->getProductType() == "bundle"){ $itemid = $item->getData('item_id'); $quoteid = $item->getData('quote_id'); } if($item->getData('parent_item_id') == $itemid && $item->getData('quote_id') == $quoteid){ try { $this->_getCart()->removeItem($item->getData('item_id')) ->save(); } catch (Exception $e) { $this->_getSession()->addError($this->__('Cannot remove child item')); } } } try { $this->_getCart()->removeItem($id) ->save(); } catch (Exception $e) { $this->_getSession()->addError($this->__('Cannot remove item')); } } $this->_redirectReferer(Mage::getUrl('*/*')); }
là elle supprime effectivement le bundle et les produits simple qui le composent. Cependant elle génère maintenant un erreur à la suppression des produits configurables
 
 
Dernière édition: 29-08-2008 à 13:39 Par JimB.
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
#3889
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 2 Semaines Karma: 0  
Voilà le code qui fonctionne pour la suppression du panier des bundles products et configurable products en 1.1.1:

Code :
public function deleteAction() { $id = (int) $this->getRequest()->getParam('id'); if ($id) { $_items = $this->_getCart()->getItems(); $itemid= ""; $quoteid= ""; foreach($_items as $item){ if($item->getData('item_id') == $id && $item->getProductType() == "bundle"){ $itemid = $item->getData('item_id'); $quoteid = $item->getData('quote_id'); } if($item->getData('parent_item_id') == $itemid && $item->getData('quote_id') == $quoteid){ try { $this->_getCart()->removeItem($item->getData('item_id')) ->save(); } catch (Exception $e) { $this->_getSession()->addError($this->__('Cannot remove child item')); } } } try { $this->_getCart()->removeItem($id) ->save(); } catch (Exception $e) { $this->_getSession()->addError($this->__('Cannot remove item')); } } $this->_redirectReferer(Mage::getUrl('*/*')); }
 
 
Dernière édition: 29-08-2008 à 14:11 Par JimB.
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
#4009
JimB (Utilisateur)
Expert Boarder
Messages: 83
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Vider Panier Il y a 2 Mois, 2 Semaines Karma: 0  
Bon, il semblerai que le bug persiste.
cette modification fonctionne si on ajoute et supprime 1 bundle. si on le fait à la suite sur un deuxième bundle, le bug revient.
La team Magento disais avoir réglé le bug dans la 1.1.3, mais ceux qui l'ont déployé affirment qu'il n'a pas été corrigé, ils ont également ce bug :
http://www.magentocommerce.com/bug-tracking/issue?issue=2513
http://www.magentocommerce.com/bug-tracking/issue?issue=2831

Je viens de regarder la fonction deleteAction de la 1.1.4, elle est toujours identique...
 
 
Jim
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC