программно изменять доступность запасов
Как я могу изменить доступность на складе, т.е. in stock
и out of stock
продукта программно, используя идентификатор продукта?
6
2 answers
Следующий код должен работать для вас
$stock_item = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id);
if (!$stock_item->getId()) {
$stock_item->setData('product_id', $product_id);
$stock_item->setData('stock_id', 1);
}
$stock_item->setData('is_in_stock', 1); // is 0 or 1
$stock_item->setData('manage_stock', 1); // should be 1 to make something out of stock
try {
$stock_item->save();
} catch (Exception $e) {
echo "{$e}";
}
10
Author: Sander Mangel, 2013-07-26 13:33:36
Кто-то пометил это как дубликат, это не так. Те, кто хочет сделать это через базу данных, могут обратиться к оригинальному ответу Шоаиба Мунира - Magento 2 - Массовое обновление запасов программно - С помощью запроса базы данных
Помимо двух обновлений в cataloginventory_stock_item и cataloginventory_stock_status, также обновите inventory_source_item. После этого ваш cron должен автоматически переиндексироваться
0
Author: Cotton, 2020-02-03 06:33:37