【发布时间】:2010-06-17 16:11:05
【问题描述】:
我已经为此工作了一整天,但我找不到任何解决方案:
我有一个产品(镜片),它具有相同的属性,但用户可以为一只眼睛选择一个属性集,为另一只眼睛选择另一个属性集。
在前端我没问题,看到它here。
所以用户可以选择左眼或右眼的属性,但它是同一个产品。
我构建了一个函数,它应该在购物车中获取一个产品(保存之前),添加其他属性集,因此购物车中应该有两个产品。如果有两种产品,但具有相同的一组属性,会发生什么情况???
这里是函数的sn-p:
$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 中的第一个模块......
谢谢你,彼得
【问题讨论】:
-
请编辑您的代码并使用“代码示例”功能格式化代码。
-
属性集在 Magento 中具有非常特殊的含义。你的意思是他们可以为产品选择一个选项?
-
是的,他们可以为产品选择选项。对于每只眼睛相同的选项。你可以在这里看到它:connecta.si/clarus/index.php/featured/…
标签: attributes magento cart