在blocklayered
过滤器中有两个过滤器:“可用”和“缺货”产品,但它们表现得很奇怪:“缺货”过滤器显示的产品,一个/多个尺寸的数量为0。
如何修改此项以在“缺货”列表中仅显示没有所有可用尺寸的商品的产品。
我的意思是,当一件T恤有3件M尺寸,但L尺寸为0件时,我不希望它显示在“缺货”清单上。
第二件事是 - 如何隐藏默认类别列表页面中真正“缺货”(所有组合中没有项目)的产品?我想要实现的是,在类别页面上我们有“存档”选项卡,它应该显示以前在商店中可用的产品,但它们不再存在。
我使用PS 1.6.1.9
答案 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()
您只需针对产品的每个选项运行循环,并查找所有选项的数量,并仅在没有任何选项的情况下将产品标记为缺货。