【发布时间】:2014-12-16 20:36:24
【问题描述】:
我有一个模块可以从外部 API 批量获取产品和库存信息。 产品导入工作正常,但库存不行。 只有当我再次运行导入时,库存才会更新。
基本上是这样的:
$product = $this->getCatalogProduct()->loadByAttribute('sku', $code);
if (!$product) {
$product = new Mage_Catalog_Model_Product();
}
$product->set****();
// etc
$product->save();
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId());
if (!$stockItem->getId()) {
$stockItem->setData('product_id', $product->getId());
$stockItem->setData('stock_id', 1);
}
$stockItem->setData('qty', (int) $qty);
$stockItem->setData('is_in_stock', $qty ? 1 : 0);
$stockItem->save();
因此,仅当我运行两次库存更新代码时,库存数量才会更新,而不是在产品也被创建时同时进行。
【问题讨论】:
-
这个问题的解决方法在这里找到:stackoverflow.com/questions/11139516/…
标签: magento