我们如何在Magento中使用自定义选项类型文件将产品代码添加到购物车?

时间:2012-10-12 16:53:13

标签: php javascript magento

我正在使用自定义选项类型文件将产品添加到Magento中:

$cart = Mage::getModel('checkout/cart');
$cart->init();
$pModel = Mage::getSingleton('catalog/product');
foreach($prodArray as $_prod){
  $products = explode("=",$_prod);
  $product_id = $products[0];
  $prod_qty = $products[1];
  $pModel->unsetData();
  $pModel = Mage::getModel('catalog/product')->load($product_id);
  try {
    $cart->addProduct($pModel,$prod_qty);
  }
  catch (Exception $e) { continue; }
  echo  "<br>Product has been added to Cart of id: $product_id with Quantity: $prod_qty";
}
$cart->save();

2 个答案:

答案 0 :(得分:0)

根据你的头衔,我不能确定你要做什么。

我想您想知道如何以编程方式将带有选项的产品添加到购物车中?

此链接涵盖: How to get the URL to a configurable item in Magento? 访问者提到结构的URL:/ checkout / cart / add?product = 47&amp; qty = 1&amp; super_attribute [496] = 4

以编程方式将简单产品添加到购物车就像遵循此结构的链接一样简单: http://yoursite.com/index.php/checkout/cart/add?product=product_id&qty=qty

显然你需要这个是一个熟练的“真实”用户等。如果我不理解你的用例,请添加更多评论。

答案 1 :(得分:0)

也许为时已晚,但今天我遇到了同样的问题,我找到了解决方案。我需要将产品添加到购物车,其中一个选项是文件。

它适用于Magento 1.7,但我没有在其他版本上测试过它。

// the path of the file, relative to Magento base directory.
// For example /media/image.jpg
$image = "YOURFILE.JPG";
// the ID of the product
$product_id  = XXX;

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

$cart = Mage::getModel('checkout/cart');
$cart->init();
$params = array(
    'product' => $product_id,
    'qty' => 1,
    'options' => array(
        12345 => array(
                'quote_path' => $image,
                'secret_key' => substr(md5(file_get_contents(Mage::getBaseDir() . $image)), 0, 20)),
    )
);

$cart->addProduct($product, $params);
$cart->save();

Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

(12345是选项ID,您可以对其进行硬编码,或者您可以使用此代码获取ID列表:https://stackoverflow.com/a/8317707