Совместное использование корзины между клиентами

magento.stackexchange https://magento.stackexchange.com/questions/1161

  •  16-10-2019
  •  | 
  •  

Вопрос

Я работаю на сайте, где у нас есть два типа клиентов, агентов и сайтов. Заказчик входит в систему в качестве агента, затем выбирает сайт, на который они могут заказать (они в пользовательском атрибуте клиента). Агент клиент добавляет элементы в корзину клиента сайта и может проверить (выбор пользователя сайта фактически меняет сеанс клиента с клиента агента на клиент сайта).

Теперь, если у клиента -агента есть товары в своей корзине, а затем изменяет клиент сайта, мы хотим сохранить содержимое корзины нетронутыми, но поскольку они в действительности изменяют зарегистрированное на клиенте с одного клиента сайта на другой, содержимое корзины теряется. У кого -нибудь есть идеи о том, как я могу сохранить содержимое корзины нетронутым между клиентами сайта?

Это было полезно?

Решение

Изменение клиента_ид цитаты:

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

Другие советы

Нет опыта с этим, что когда -либо и этот код далеко не протестирован или завершен, но вы, вероятно, можете использовать наблюдатель за событием (не checkout_cart_product_add_after Или у вас будет бесконечная петля добавления), которая запускается при добавлении продукта, а затем выполните что -то подобное

$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' для ответа на то, чтобы поделиться корзиной. Я попробовал ваш код, но мне нужны некоторые модификации в нем, он должен использовать «продажи/цитату» вместо «Checkout/Quote», после этого он работает нормально для меня. Я использовал ниже код:

Mage::getModel('sales/quote')->load($quoteId)->setCustomerId($customerId)->save();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top