自定义添加到购物车与产品自定义属性在Magento

时间:2012-09-24 14:36:11

标签: magento

我尝试使用自定义模块将产品添加到购物车。以下是我使用的代码

    $product_id = $this->getRequest()->getParam('product');

    $product = Mage::getModel('catalog/product')->load($product_id);

    $param = array( 'product' => $product->getId(), 'qty' => 2,'options["'.$option_id.'"]' => $option_type_id );

  $cart = Mage::getModel('checkout/cart')->init();
  $cart->addProduct($product, new Varien_Object($param));
  Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
  $cart->save();

我可以使用产品ID将产品名称,数量添加到购物车,但我无法在购物车中添加产品自定义选项。

请帮我解决一下。

谢谢, 普拉卡什

1 个答案:

答案 0 :(得分:3)

你真是太近了!您需要更改的主要内容是$param,因为它的结构不像Magento所希望的那样。这应该可以解决问题:

$param = array(
    'product' => $product->getId(),
    'qty' => 2,
    'options' => array(
                        $option_id => $option_value,
                        $option_id2 => $option_value2,
                      ),
);

请注意,产品上的所有必需自定义选项都需要具有值,以避免在添加到购物车时出现致命错误。此外,无需将$param转换为Varien_Object - Magento理解阵列就好了。