Я пытаюсь добавить свой простой продукт с настраиваемыми параметрами в корзине.
$post = $this->getRequest()->getPost(); $_product = Mage::getModel('catalog/product')->load(8); $QuoteId= Mage::getModel('checkout/cart_api')->create('default'); $storeId = Mage::app()->getStore()->getId(); $arrProducts = array( array( "product_id" => 8, "qty" => 1, "options" => array( '1' => array( 'sku' => 'cheese' ) ) ) ); $cart = Mage::getSingleton('checkout/cart'); $cart->addProduct($_product, $arrProducts); $cart->save(); Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
но, к сожалению, продукт не добавляется в корзину. я получил ошибку
« Пожалуйста, укажите требуемый продукт (ы)
что я делаю неправильно? У меня есть два варианта продукта. Вариант 1 id – 1 и сыр с сыром …
Я думаю, у вас слишком много массива:
$arrProducts = array( array( "product_id" => 8, "qty" => 1, "options" => array( 'option_id' => 'option_value' ) ) );
Должен выполнять эту работу.
У меня есть успех с последующим кодом, пожалуйста, проверьте:
$options = array('related_product'=>null, 15=>37, 16=>41, 17=>45, 18=>51, 19=>150000); //Those are my option. $cart = Mage::getSingleton('checkout/cart'); $cart->init(); // Add a product with custom options $params = array('product' => $_product->getId(), 'qty' => 1, 'options' => $options ); $request = new Varien_Object(); $request->setData($params); $quoteObj->addProduct($_product, $request);