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


How to set product attribute in Magento programmatically?

我有一个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"的属性?谢谢

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

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

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