【发布时间】:2014-08-14 14:40:44
【问题描述】:
我编写了一个 Magento 输入脚本,用于将我提供的 csv 文件解析为 magento。它成功地将产品传递到 magento,但它们在网站上显示为“缺货”,即使它们在管理区域中标记为“有货”和“启用”。
在说服自己这不是导入产品的库存选项卡中的设置后,我一直在查看 magento 代码,并确定“is_salable”已定义并为每个产品返回 null。进一步调查得出的结论是 cataloginventory_stock_status 表是空的。
我一直在谷歌上搜索这个问题,以确定为什么尽管导入脚本似乎没有出现任何错误,但没有在数据库中设置股票表,但找不到答案。
任何人都可以看到我在这里缺少的东西,提前感谢任何人可以提供的任何帮助或建议。以下是负责导入产品的主要代码部分:
$product = Mage::getModel('catalog/product');
$product
->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()))
->setAttributeSetId(4)
->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_SIMPLE)
->setCreatedAt(strtotime('now'))
->setUpdatedAt(strtotime('now'))
->setSku($data[2])
->setName($data[5])
->setWeight(4.0000)
->setStatus(1)
->setTaxClassId(4)
->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
->setPrice($data[21])
->setCost($data[21])
->setSpecialPrice($data[21])
->setSpecialFromDate('06/1/2014')
->setSpecialToDate('06/30/2014')
->setMsrpEnabled(1)
->setMsrpDisplayActualPriceType(1)
->setMsrp($data[21])
->setMetaTitle('test meta title 2')
->setMetaKeyword('test meta keyword 2')
->setMetaDescription('test meta description 2')
->setDescription($data[7])
->setShortDescription($data[6])
->setMediaGallery (array('images'=>array(), 'values'=>array()))
->setStockData(array(
'use_config_manage_stock' => 1,
'qty' => 100,
'min_qty' => 0,
'use_config_min_qty'=>1,
'min_sale_qty' => 0,
'use_config_min_sale_qty'=>1,
'max_sale_qty' => 9999,
'use_config_max_sale_qty'=>1,
'is_qty_decimal' => 0,
'backorders' => 0,
'notify_stock_qty' => 1,
'is_in_stock' => 1
))
->setCategoryIds(array(3))
->save();
【问题讨论】: