Prestashop-取消订单产品数量未在库存数量中增加

Prestashop-取消订单产品数量未在库存数量中增加,prestashop,shopping-cart,stock,prestashop-1.5,cancellation,Prestashop,Shopping Cart,Stock,Prestashop 1.5,Cancellation,我正在为一些产品使用Prestashop Advance库存管理系统。当我订购产品(启用了高级库存管理)时,数量是从实际输入值(允许我们手动输入数量的输入框)中扣除的,而不是从库存中扣除的(我可以在库存管理列表中看到相同的数量)。我将订单状态更改为“已发货/已开票”后,库存数量将减少 当我取消订单时,库存中的数量没有增加。我想在取消订单时自动增加库存量。我是新手,我不知道怎么做。请帮我解决这个问题 提前感谢您应该调用OrderDetail::checkProductStock,后者依次调用Sto

我正在为一些产品使用Prestashop Advance库存管理系统。当我订购产品(启用了高级库存管理)时,数量是从实际输入值(允许我们手动输入数量的输入框)中扣除的,而不是从库存中扣除的(我可以在库存管理列表中看到相同的数量)。我将订单状态更改为“已发货/已开票”后,库存数量将减少

当我取消订单时,库存中的数量没有增加。我想在取消订单时自动增加库存量。我是新手,我不知道怎么做。请帮我解决这个问题


提前感谢

您应该调用
OrderDetail::checkProductStock
,后者依次调用
StockAvailable::updatequality

$update_quantity = StockAvailable::updateQuantity(...
有趣的是,在更新数量之前,有这样一个条件

if (!StockAvailable::dependsOnStock($product['id_product']))
我建议您在需要时返回true

您还可以在复制订单之前设置一个全局标志,然后检查该标志,如果该标志为true,则返回true以防止更新库存

override/classes/stock/StockAvailable.php中的覆盖代码

class StockAvailable extends StockAvailableCore 
{

  public static function dependsOnStock($id_product, $id_shop = null)
  {
    $no_quantity_update = isset($GLOBALS['no_quantity_update']) && $GLOBALS['no_quantity_update'];
    if ($no_quantity_update) 
      return true;
    else return parent::dependsOnStock($id_product, $id_shop = null);
  }

}
要使此覆盖生效,请删除文件
cache/class_index.php
以刷新覆盖列表

您的模块代码:

//set to false just to be sure
$GLOBALS['no_quantity_update'] = false;
$this->module->validateOrder($cart->id, Configuration...
您可以直接修改核心代码,但不建议这样做

您也可以检查。

$productid=$request->input('productid');
$userid=$request->input('userid');
$quantityt=$request->input('quantity');
$data2=Cart::where('productid',$productid)->where('userid',$userid)->pull('id');
$productq=Products::where('id',$productid)->get();
foreach($productq作为$pro)
{
$product=产品::查找($pro->id);
$product->quantity=$pro->quantity+$quantityt;
$product->save();
}

我没有在车间检查问题,但从逻辑上看它是正确的。伊曼,您发送了订单“库存-数量”,然后取消订单(无库存操作),然后您需要取回产品,可能需要检查并更新数量,例如,如果产品仍然是新的等等。但我需要的是,在我取消订单时,产品数量应自动增加。我的解决方案对您有帮助吗?你没有对你的问题或答案发表任何评论?赏金呢?