我需要从现有值更新产品数量。对于例如我已经收到每个SKU的数量100,我想更新所有SKU从他们当前的股票价值增加100。默认Magento有这个功能吗?
答案 0 :(得分:1)
您应该考虑使用Mage_CatalogInventory_Model_Stock
。在我看来,更改数量的最简单方法是使用correctItemsQty
中的Mage_CatalogInventory_Model_Resource_Stock
方法。
以下代码将帮助您提取所需的数据:
require_once 'app/Mage.php';
Mage::app("default");
/** @var Mage_CatalogInventory_Model_Stock $model */
$model = Mage::getModel('cataloginventory/stock');
/** @var Mage_CatalogInventory_Model_Resource_Stock $resourceModel */
$resourceModel = Mage::getResourceModel('cataloginventory/stock');
/* values: product_id => qty_diff */
$productsForUpdate = array(
920 => 1,
921 => 2,
922 => 3
);
$resourceModel->correctItemsQty($model, $productsForUpdate, '+');
同样,你可以从股票中提取数量,只需将' + '改为' - '
此解决方案的唯一缺点是必须通过SKU获取产品ID。
此外,您可以通过产品导入更新堆栈状态,但这将是一个更耗费资源的过程。
答案 1 :(得分:0)
Go to your admin
目录 - >管理产品[选择所有产品]并转到右侧操作输入框,点击droupdown中的aerow,选择'更新属性'提交,然后点击库存并更改您的数量'保存'
你的任务已经完成......