如何在Prestashop中将数量设置为缺货

如何在Prestashop中将数量设置为缺货,prestashop,prestashop-1.6,Prestashop,Prestashop 1.6,我希望当我的产品数量等于1时,产品缺货(而不是当数量等于0时)。 可能吗? 如何实现?在PrestaShop 1.6(在v1.6.0.14中测试并确认工作)中,您可以通过以下方法实现这一点,其中网站将始终显示可用库存量,即每分钟的实际库存量。如果您有6个库存,此修改将更改您的网站,将库存报告为5个给您的客户,当您只有1个可用库存时,客户将看到数量为0且标记为缺货的产品 将文件/classes/stock/StockAvailable.php复制到/override/classes/stock/S

我希望当我的产品数量等于1时,产品缺货(而不是当数量等于0时)。 可能吗? 如何实现?

在PrestaShop 1.6(在v1.6.0.14中测试并确认工作)中,您可以通过以下方法实现这一点,其中网站将始终显示可用库存量,即每分钟的实际库存量。如果您有6个库存,此修改将更改您的网站,将库存报告为5个给您的客户,当您只有1个可用库存时,客户将看到数量为0且标记为缺货的产品

  • 将文件
    /classes/stock/StockAvailable.php
    复制到
    /override/classes/stock/StockAvailable.php

  • 编辑文件
    /override/classes/stock/StockAvailable.php
    ,如下所示

  • 第357-380行是函数
    AvailableStock::getQuantityAvailableByProduct()
    ,通常是这样读的(格式可能略有不同):

    将以关键字
    return
    开头的函数的最后一行替换为以下内容:

      $iStockQty = Cache::retrieve( $key );
      if( $iStockQty > 0 ) $iStockQty--;
      return $iStockQty;
    
  • 删除文件
    /cache/class_index.php
    ,以便Prestashop在考虑新覆盖文件的情况下自动重新创建此文件

  • 我还在StockAvailable.php中找到了方法
    self::removeProductFromStockAvailable($id\u product)
    ,可以做一些类似的事情

      $iStockQty = Cache::retrieve( $key );
      if( $iStockQty > 0 ) $iStockQty--;
      return $iStockQty;