库存为0的商品,前台自动不显示

2016-07-07 15:28 来源:www.chinab4c.com 作者:ecshop专家

需要将库存为0的商品,前台自动不显示,这个该怎么样设置

回答:
这个只有在模板中做判断了

eg.

<!--{if $goods.goods_number gt 0}-->
xxx
<!--{else}-->
xxx
<!--{/if}-->

这个最好在程序端 SQL语句里就做好限制,
如果在模板端控制可能会导致每页显示的商品数不一致,

这个需要修改的地方挺多的,因为很多地方都有查询产品的SQL,

以category.php 为例


"WHERE $where $ext group by g.goods_id ORDER BY $sort $order";
修改为
"WHERE $where $ext and g.goods_number >0group by g.goods_id ORDER BY $sort $order";


return $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('goods') . " AS g WHERE $where $ext");
修改为
return $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('goods') . " AS g WHERE $where $ext and g.goods_number >0 ");