Question

Je travaille sur un site où nous avons deux types de clients, des agents et des sites. Un client se connecte comme un agent choisit alors un site qu'ils peuvent commander pour (ceux-ci sont dans un attribut client personnalisé). Le client de l'agent ajoute des articles au panier client du site et peut vérifier (la sélection de l'utilisateur du site change réellement la session client d'être le client de l'agent au client du site).

Maintenant, si le client de l'agent a des éléments dans leur panier, puis change le client du site que nous voulons conserver le contenu du panier intact, mais parce qu'ils sont en réalité changeant le connecté client d'un client du site à l'autre le contenu du panier sont perdus . Tout le monde a des idées sur la façon dont je peux garder le contenu du panier intact entre les clients du site?

Était-ce utile?

La solution

Modification du customer_id de la citation:

Mage::getModel('checkout/quote')->load($quoteId)->setCustomerId($customerId)->save();

Autres conseils

Aucune expérience avec ce que si jamais et ce code est loin d'être testé OU complet mais vous pouvez probablement utiliser un observateur d'événements (non checkout_cart_product_add_after ou vous aurez vous-même une boucle d'ajouter infinie) qui est déclenché lors de l'ajout du produit et exécuter quelque chose comme ceci

$customer_session = Mage::getSingleton('customer/session')->setCustomer([customerid]);
$cart_session = Mage::getSingleton('checkout/session')->loadCustomerQuote();

$cart = Mage::getSingleton('checkout/cart’'); 
$cart->init(); 

$product = Mage::getSingleton('catalog/product')->load($productId); 

$cart->addProduct($product, array('qty' => $qty)); 
$cart->save(); 

$cart_session->setCartWasUpdated(true);

@ « Fabian Blechschmidt » pour la réponse pour le partage du panier. J'ai essayé votre code, mais besoin de quelques modifications, il devrait utiliser « les ventes / quote » au lieu de « achat / quote », après que cela fonctionne bien pour moi. Je l'ai utilisé ci-dessous le code:

Mage::getModel('sales/quote')->load($quoteId)->setCustomerId($customerId)->save();
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top