當在Magento中以編程方式將捆綁產品添加到購物車時,我似乎無法在產品選項數組中找到「捆綁選項」字段的任何文檔。所以我不能確定如何正確地做到這一點。Magento用'bundle_option'添加捆綁產品到購物車?
但是,這是我的嘗試:
$json_obj = json_decode($json_string, true);
//define cart
$cart = Mage::getSingleton('checkout/cart');
$bundle = array();
$bundle_qty = array();
for ($i=0; $i<count($json_obj['basket']['products']); $i++) {
$product_id = int($json_obj['basket']['products'][$i]['id']);
#add individual products to cart
#$product = new Mage_Catalog_Model_Product();
#$product->load($product_id);
#$params = array('product'=>$product_id,'qty'=>1);
#if ($product->getName()) $cart->addProduct($product, $params);
#add products to bundle
$bundle[$i] = $product_id;
if (isset($bundle_qty[$product_id])) $bundle_qty[$product_id] += (int)1;
else $bundle_qty[$product_id] = (int)1;
}
#add to bundled product to cart
$product = new Mage_Catalog_Model_Product();
$product->load(833); #833 = test bundle
$cart->addProduct($product, array('product'=>833,
'qty'=>min(1,int($json_obj['basket']['quantity'])),
'bundle_option'=>$bundle,
'bundle_option_qty'=>$bundle_qty));
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
$message = $this->__('Notice: %s item(s) were successfully added to your shopping cart.', $i);
Mage::getSingleton('checkout/session')->addSuccess($message);
}
所以註釋掉的代碼添加產品逐個其正常工作。現在我試圖將產品添加到「Test Bundle」產品中。
我現在做的循環是什麼編制的「bundle_option」和「bundle_option_qty」字段的數組。一旦循環完成,我將捆綁產品(ID:833)添加到帶有捆綁項目的options數組的購物車。
結果是沒有東西被添加到購物車。我也玩過代碼,但沒有成功。
任何人都可以看到我要出錯的地方,或者如果你能指向我的產品選項參數的doc /教程,詳細說明bundle_option數組(索引是什麼,以及值是什麼) ?