Frage

Ich arbeite an einer Website, auf der wir zwei Arten von Kunden, Agenten und Websites haben. Ein Kunde meldet sich als Agent an und wählt dann eine Website aus, für die er bestellen kann (diese befinden sich in einem benutzerdefinierten Kundenattribut). Der Agent -Kunde fügt dem Kundenkundenkorb Artikel hinzu und kann ein Auschecken (die Website -Benutzerauswahl ändert tatsächlich die Kundensitzung von Agent -Kunde zum Kundenkunden).

Wenn der Agent -Kunde jetzt Artikel in seinem Korb hat und dann den Kundenkunde ändert, möchten wir den Korbinhalt intakt halten. Da er in Wirklichkeit den angemeldeten Kunden von einem Site -Kunden zum anderen ändert, geht der Korbinhalt verloren. Hat jemand Ideen, wie ich den Korbinhalt zwischen den Kunden von Site intakt halten kann?

War es hilfreich?

Lösung

Ändern des Customer_id des Angebots:

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

Andere Tipps

Keine Erfahrung damit, was auch immer und dieser Code ist alles andere als getestet oder vollständig, aber Sie können wahrscheinlich einen Ereignisbeobachter verwenden (nicht checkout_cart_product_add_after Oder Sie haben selbst eine unendliche Add -Schleife), die beim Hinzufügen des Produkts ausgelöst wird und dann so etwas ausführt

$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' für die Antwort zum Teilen des Einkaufswagens. Ich habe Ihren Code ausprobiert, benötige aber einige Änderungen darin. Er sollte "Verkauf/Angebot" anstelle von "Checkout/Quote" verwenden. Danach funktioniert es für mich einwandfrei. Ich habe unten Code verwendet:

Mage::getModel('sales/quote')->load($quoteId)->setCustomerId($customerId)->save();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top