我正在使用Magento Community Edition版。 1.6.2.0。
我正在尝试使用Varien Data Collection模型(而不是Api)添加Simple产品。
正在创建产品,但未设置价格,税级ID和重量。
如果有人可以建议为什么没有设置这些特定的产品属性,我将不胜感激。
这是我的代码:
// instatiate Product
$product = Mage::getModel('catalog/product');
$product->setWebsiteIds(array(1));
$product->setSku('99996');
$product->setPrice(99.0000);
$product->setAttributeSetId(4);
$product->setCategoryIds(array(2));
$product->setType('Simple Product');
$product->setName('Product Name6');
$product->setDescription('The Product Description');
$product->setShortDescription('Brief Description');
$product->setStatus(1);
$product->setTaxClassId(2);
$product->setWeight(1.0000);
$product->setCreatedAt(strtotime('now'));
$product->save();
$stockItem = Mage::getModel('cataloginventory/stock_item');
$stockItem->loadByProduct($product->getId());
if (! $stockItem->getId()) {
$stockItem->setProductId($product->getId())->setStockId(1);
}
$stockItem->setData('inventory_manage_stock_default', 1);
$stockItem->setData('is_in_stock', 1);
$stockItem->setData('qty', 10000);
$stockItem->save();
非常感谢任何帮助!
亲切的问候,
詹姆斯
答案 0 :(得分:7)
中的错误
$product->setType('Simple Product');
替换为
$product->setTypeId('simple');
现在价格已经确定。
因为magento的价格取决于产品类型。
答案 1 :(得分:0)
不要使用:
$product->setType('Simple Product');
它实际上没有设置产品......它已经有一段时间不工作了...... 如上所述使用:
$product->setTypeId('simple')
这实际上会设置类型......因为'simple'已在mage / catalog中定义为常量...但不是'Simple Product'...
答案 2 :(得分:0)
如上所述,设置$product->setType('Simple');
可以解决您的问题。因为它只是我的。