如何以编程方式在Magento中设置产品属性?

时间:2012-03-21 20:56:47

标签: php magento

我有一个Magento实例,我使用以下代码:

include_once '../app/Mage.php';
Mage::app();

try{

     $product_id = '';

     // get query string
     if (!isset($_GET['product_id'])) { $product_id = ''; } else { $product_id = $_GET['product_id']; }
     if (!isset($_GET['qty'])) { $qty = '1'; } else { $qty = $_GET['qty']; }

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

     $session = Mage::getSingleton('core/session', array('name'=>'frontend'));
     $cart = Mage::helper('checkout/cart')->getCart();

     $cart->addProduct($product, $qty);

     $session->setLastAddedProductId($product->getId());
     $session->setCartWasUpdated(true);

     $cart->save();

     $result = "{'result':'success'}";
     echo $result;

} catch (Exception $e) {
     $result = "{'result':'error'";
     $result .= ", 'message': '".$e->getMessage()."'}";
     echo $result;
}

但是,我收到一条错误消息“请指定所需的产品选项”。 如何在前面的代码中设置名为“Colors”的属性并默认为“black”? 谢谢!

1 个答案:

答案 0 :(得分:0)

要将可配置添加到购物车,您需要为其属性指定参数 数据示例:

        [product] => 3
        [related_product] => 
        [super_attribute] => Array
            (
                [75] => 20
                [85] => 15
            )

        [qty] => 1

这里75-是“color”attribute_id,20 - > “option_id”的颜色“黑色”
85-是“Size”attribute_id,15 - > option_id,大小为'大' 因此,请在数据库中检查Color属性的attribute_id和'Black'颜色的option_id是什么。