更新数量时,magento自动库存

时间:2015-03-09 14:06:13

标签: magento

当我们从0更新数量时,如何做到库存状态从“非库存”变为“库存”?

我必须从qty = 0更新600个产品到1-10。我希望我可以使用插件:大规模产品更新程序来完成任务。但如果我需要手动更改每个产品的库存状态,插件将失去其目的。

2 个答案:

答案 0 :(得分:0)

如果您决定立即更新所有产品的数量和库存状态,那么您可以在任何控制器的操作中编写此代码,并在浏览器中点击该控制器的操作。

$_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');
    }
}

我希望,我的回答可以解决你的问题。

如果没有,请评论。 :)

答案 1 :(得分:0)

请看看Magmi:

http://sourceforge.net/projects/magmi/

我用它在几分钟(30-45分钟)内导入/更新了数百万种产品。

最好的部分是csv列标题是基于产品字段/属性的ID构建的,因此每当您想要更新字段时,您可以右键单击,检查管理面板中的元素并获取列标题期望的。

如果您已经承诺进行所选择的产品导入,您可以编写一个观察员,在每个产品保存时触发,检查产品数量是否为> 0并将产品设置为“库存”然后保存。

https://magento.stackexchange.com/questions/9067/catalog-product-save-after-event-for-massaction