2015-11-03 97 views
2

我正嘗試在購物車中添加自定義選項的簡單產品。Magento。如何通過自定義選項以編程方式添加簡單產品

$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); 

但不幸的是產品不加入購物車。 我有錯誤

請指定產品所需的選項(S)

什麼,我做錯了什麼?我有兩種產品選擇。選項1號爲1和SKU奶酪...... enter image description here

+0

你好! http://stackoverflow.com/questions/13698236/add-product-to-cart-with-custom-options注意這個答案如何使用 - > addOption到一個報價項目,然後將它的選項添加到'additional_options'代碼?通常情況下,這是需要完成的。如果這不能解決它的雅我可以看看:) –

+0

米克爾,你可以請改變我的代碼根據您的意見? – user3162709

回答

2

我想你已經有了一個數組太多:

$arrProducts = array(
    array(
     "product_id" => 8, 
     "qty" => 1, 
     "options" => array(
      'option_id' => 'option_value' 
     ) 
    ) 
); 

應該做的工作。

0

我有成功與下面的代碼請檢查:

$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); 
相關問題