【发布时间】:2015-05-10 17:23:29
【问题描述】:
当我们从0更新数量时,如何使库存状态从“无库存”变为“有库存”?
我必须将 600 个产品从 qty = 0 更新为 1-10。我希望我可以使用插件:批量产品更新程序来完成这项任务。但是,如果我需要手动更改每个产品的库存状态,该插件将失去作用。
【问题讨论】:
标签: magento
当我们从0更新数量时,如何使库存状态从“无库存”变为“有库存”?
我必须将 600 个产品从 qty = 0 更新为 1-10。我希望我可以使用插件:批量产品更新程序来完成这项任务。但是,如果我需要手动更改每个产品的库存状态,该插件将失去作用。
【问题讨论】:
标签: magento
如果您决定一次更新所有产品的数量和库存状态,那么您可以在任何控制器的操作中编写此代码,然后在浏览器中点击该控制器的操作。
$_products = Mage::getModel('catalog/product')->getCollection();
foreach($_products as $_product){
$product = Mage::getModel('catalog/product')->load($_product['entity_id']);
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
$stockItem->setData('manage_stock', 1);
$stockItem->setData('is_in_stock', 1);
$stockItem->setData('use_config_notify_stock_qty', 0);
$stockItem->setData('qty', 10);
try{
$stockItem->save();
$product->save();
}catch(Exception $e){
Mage::log($e->getMessage(),null,'mohit.log');
}
}
希望我的回答能解决你的问题。
如果不是,请发表评论。 :)
【讨论】:
请看Magmi:
http://sourceforge.net/projects/magmi/
我已经用它在几分钟(30-45 分钟)内导入/更新了数百万种产品。
最好的部分是 csv 列标题是基于产品字段/属性的 id 构建的,因此任何时候您想更新一个字段,您可以右键单击,检查管理面板中的元素并获取列标题想要的。
如果您已经承诺您选择的产品导入,您可以编写一个观察器,在每次产品保存时触发,检查产品数量是否 > 0 并将产品设置为“有货”然后保存。
https://magento.stackexchange.com/questions/9067/catalog-product-save-after-event-for-massaction
【讨论】: