Prestashop - 缺货清单

时间:2016-12-28 11:03:51

标签: prestashop prestashop-1.6 blocklayered

当我出售T恤时,我有一家prestashop商店。每件T恤都有几种尺码(组合),即M,L,XL等。

blocklayered过滤器中有两个过滤器:“可用”和“缺货”产品,但它们表现得很奇怪:“缺货”过滤器显示的产品,一个/多个尺寸的数量为0。

如何修改此项以在“缺货”列表中仅显示没有所有可用尺寸的商品的产品。

我的意思是,当一件T恤有3件M尺寸,但L尺寸为0件时,我不希望它显示在“缺货”清单上。

第二件事是 - 如何隐藏默认类别列表页面中真正“缺货”(所有组合中没有项目)的产品?我想要实现的是,在类别页面上我们有“存档”选项卡,它应该显示以前在商店中可用的产品,但它们不再存在。

我使用PS 1.6.1.9

2 个答案:

答案 0 :(得分:0)

打开www / themes / yourtheme / product-list(别忘了备份)

搜索

{assign var='nbLi' value=$products|@count}

正下方添加

{foreach from=$products item=product name=products}
    {if ($product.quantity <= 0)}
        {$nbLi=$nbLi-1}
    {/if}
{/foreach}

搜索

{foreach from=$products item=product name=products}

正下方添加

{if ($product.quantity > 0)}

搜索

{/foreach}

正上方添加

{/if}

替换

的所有实例
  $smarty.foreach.products.total

$smarty.foreach.products.iteration

$nbLi

MEG Venture在prestashop论坛上提出了这个问题。 https://www.prestashop.com/forums/topic/537182-disable-out-of-stock-product-from-listing-only/

答案 1 :(得分:0)

PrestaShop的StockAvailable.php核心类中有一个功能可用于查找产品任何选项的实际数量。

StockAvailable::getQuantityAvailableByProduct()

您只需针对产品的每个选项运行循环,并查找所有选项的数量,并仅在没有任何选项的情况下将产品标记为缺货。