Я работал с этим целый день, но не могу найти решение:
У меня есть продукт (линзы), который имеет идентичные атрибуты, но пользователь может выбрать один набор атрибутов для одного глаза и другой набор атрибутов для другого.
На фронтенде у меня все нормально, посмотри здесь .
Таким образом, пользователь может выбрать атрибуты для левого или правого глаза, но это один и тот же продукт.
Я строю функцию, которая должна брать товар в корзину (перед сохранением), добавлять другой набор атрибутов, поэтому в корзине должно быть два товара. Что происходит, если есть два продукта, но с одинаковым набором атрибутов ???
Вот фрагмент функции:
$req = Mage::app()->getRequest();
$request[’qty’] = 1;
$request[’product’] = 15;
$request[’uenc’] = $req->get(’uenc’);
$request[’options’][1] = 1;
$request[’options’][3] = 5;
$request[’options’][2] = 3;
$reqo = new Varien_Object($request);
$newitem = $quote->addProduct($founditem->getProduct(), $reqo);
//add another one ------------------------------------------
$request[’qty’] = 1;
$request[’product’] = 15;
$request[’uenc’] = $req->get(’uenc’);
$request[’options’][1] = 2;
$request[’options’][3] = 6;
$request[’options’][2] = 4;
$reqo = new Varien_Object($request);
$newitem = $quote->addProduct($founditem->getProduct(), $reqo);
Или другой тест с некоторыми другими функциями (опять же, добавлен продукт, с 2 количеством, но с такими же атрибутами ...):
$req = Mage::app()->getRequest();
$request[’qty’] = 1;
$request[’product’] = 15;
$request[’uenc’] = $req->get(’uenc’);
$request[’options’][1] = 2;
$request[’options’][3] = 6;
$request[’options’][2] = 4;
$product = $founditem->getProduct();
$cart = Mage::getSingleton(’checkout/cart’);
//delete all first…
$cart->getItems()->clear()->save();
$reqo = new Varien_Object($request);
$cart->addProduct($founditem->getProduct(), $reqo);
$cart->getItems()->save();
$request[’options’][1] = 1;
$request[’options’][3] = 5;
$request[’options’][2] = 3;
$reqo = new Varien_Object($request);
$cart->addProduct($founditem->getProduct(), $reqo);
$cart->getItems()->save();
Я действительно не знаю, что еще делать, пожалуйста, любой совет, это мой первый модуль в Magento…
Спасибо, Питер