我有一个模块,可以从外部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();
因此,只有当我运行股票更新代码两次时才会更新股票数量,而不是在创建产品时同时运行。
答案 0 :(得分:0)
如果要导入Stock From API,请使用此magento扩展
这可以通过XML从API导入数据
如果这没用,请告诉我们可以通过直接magento sql
导入可以花更少的时间来解决你的问题