Domanda

Sto lavorando su un sito dove abbiamo due tipi di clienti, agenti e siti. Un Cliente accede come agente sceglie quindi un sito che si possono ordinare per (questi sono in un attributo cliente personalizzato). Il cliente agente aggiunge elementi al cesto sede del cliente e può controllare (la selezione dell'utente sito cambia in realtà la sessione cliente dall'essere il cliente agente al cliente sito).

Ora, se il cliente agente ha elementi nella loro cestino e poi cambia il cliente sito vogliamo mantenere intatto il contenuto del carrello, ma perché sono in realtà cambiando il login cliente da un cliente sito a un altro il contenuto del carrello sono perso . Qualcuno ha qualche idea su come posso mantenere intatto il contenuto del carrello tra i clienti del sito?

È stato utile?

Soluzione

La modifica della customer_id della citazione:

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

Altri suggerimenti

Nessuna esperienza con questa cosa così mai e questo codice è ben lungi dall'essere testato o completa, ma probabilmente è possibile utilizzare un osservatore evento (non checkout_cart_product_add_after o avrai anche tu una loop Aggiungi infinito) che viene attivato quando si aggiunge il prodotto e poi eseguire qualcosa di simile

$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' la risposta per la condivisione del carrello della spesa. Ho provato il codice, ma hanno bisogno di alcune modifiche in esso, dovrebbe utilizzare 'le vendite / quote' invece di 'cassa / quote', dopo di che si sta lavorando bene per me. Ho usato il codice qui sotto:

Mage::getModel('sales/quote')->load($quoteId)->setCustomerId($customerId)->save();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top