我在Prestashop上手动管理我的股票。我正在寻找一种在销售订单后自动退回初始库存的解决方案。
例如,产品按两份副本订购,初始库存为7.我希望库存在订单后保持在7而不是5。
你知道一种技术可以让我自动实现这个吗?
答案 0 :(得分:1)
在新模块中放置订单确认(displayOrderConfirmation)(您可以在https://validator.prestashop.com/生成一个)并查看购物车内的内容,然后将其重新放入您的库存中:
public function hookDisplayOrderConfirmation($params) {
$order = $params['order'];
$cart = new Cart($order->id_cart);
$products = $cart->getProducts();
foreach ($products as $product) {
$removed_qty = (int) $product['quantity'];
$past_qty = (int) StockAvailable::getQuantityAvailableByProduct($product['id_product'], $product['id_product_attribute']);
$new_qty = $removed_qty + $past_qty;
StockAvailable::setQuantity($product['id_product'], $product['id_product_attribute'], $new_qty);
}
}