我已经为此工作了一整天,但我找不到任何解决方案:
我有一个产品(镜片),它具有相同的属性,但用户可以为一只眼睛选择一个属性集,为另一只眼睛选择另一个属性集。
在前端我没问题,在这里看到它。
所以用户可以选择左眼或右眼的属性,但它是同一个产品。
我构建了一个函数,它应该在购物车中获取一个产品(保存之前),添加其他属性集,所以购物车中应该有两个产品。如果有两种产品,但具有相同的一组属性,会发生什么?
这是函数的片段:
$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 中的第一个模块......</p>
谢谢你,彼得