Tôi đang cố gắng cập nhật số lượng cổ phiếu của sản phẩm trong Magento từ bên trong một tập lệnh.Không thể cập nhật Số lượng Cổ Phiếu cho một Sản phẩm trong Magento 1.6.2
Tôi tải sản phẩm, đặt số lượng cổ phiếu và lưu - nhưng số lượng vẫn không thay đổi.
// get stock data
$stockData = $product->getStockItem();
printf(PHP_EOL.'Stock: qty=%d, instock=%s, man_stock=%s, use_cfg_man_stock=%s'.PHP_EOL,
$stockData->getData('qty'),
$stockData->getData('is_in_stock'),
$stockData->getData('manage_stock'),
$stockData->getData('use_config_manage_stock')
);
// prints out qty=0, instock=, man_stock=, use_cfg_man_stock=
// $stockQty = 1
$product->stockItem->setData('qty', $stockQty);
$product->stockItem->setData('is_in_stock', $stockQty>0 ? 1 : 0);
$product->stockItem->setData('manage_stock', 1);
$product->stockItem->setData('use_config_manage_stock', 0);
$product->save();
$product->load();
$stockData = $product->getStockItem();
printf('New Stock: qty=%d, instock=%s, man_stock=%s, use_cfg_man_stock=%s'.PHP_EOL,
$stockData->getData('qty'),
$stockData->getData('is_in_stock'),
$stockData->getData('manage_stock'),
$stockData->getData('use_config_manage_stock')
);
// prints out qty=0, instock=, man_stock=, use_cfg_man_stock=
Tôi sẽ làm gì sai?
Tôi thực sự có một "Vi phạm ràng buộc toàn vẹn" khi cố gắng lưu mục hoặc sản phẩm chứng khoán, nhưng giải pháp @nachito đã giải quyết nó cho tôi. – Willster