私は一日中これに取り組んできましたが、解決策が見つかりません:
私は同一の属性を持つ製品 (レンズ) を持っていますが、ユーザーは片方の目に 1 つの属性セットを選択し、別の目に別の属性セットを選択できます。
フロントエンドでは問題ありませんでした。こちらを参照してください。
したがって、ユーザーは左目または右目の属性を選択できますが、同じ製品です。
カート内の製品を (保存前に) 取得し、他の属性セットを追加する関数を作成して、カートに 2 つの製品が存在するようにします。2 つの製品があるのに、同じ属性セットを持っている場合はどうなりますか?
関数のスニペットは次のとおりです。
$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>
ありがとう、ピーター