关于给ecshop添加已卖完售完产品图效果

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

当ecshop店铺的库存不足时,要及时在产品的列表页以及其他的位置显示已卖完售完按钮。

 默认模板左上角都有个 best hot 这个按钮。

1、在模板 default/library/goods_list.lbi 加入样式, 这个样式就是在每一个图片上面加入隐藏的已售完图标

<!--{if $goods.goods_number==0}--><div class="shop_over"><img src="images/shop_over.gif" /></div><!-- {/if} --> </div>

2、修改php 文件, 把数据库查询里面加入 goods_number 这个字段(category.php文件中)

//这个 function category_get_goods 函数里面的 在449 行加入一个查询字段

/* 获得商品列表 */ //就是加入了下面 g.goods_number, 一定记得加逗号
$sql = 'SELECT g.goods_id,g.goods_number,g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ' .
"NULLp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, g.promote_price, g.goods_type, " .
'g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ' .
'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . ' AS mp ' .
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' " .
"WHERE $where $ext ORDER BY $sort $order";

3、 查询出来要把这个值给传单到模板去 修改 大概505 行左右(category.php文件中)

$arr[$row['goods_id']]['goods_number'] = $row['goods_number'];
$arr[$row['goods_id']]['name'] = $row['goods_name'];//在他上面加入了一行


这样就可以了, 到后台清楚下缓存 ,如果库存为0 就可以看到了 左上角那个best 了 因为 goods_list.lbi 这

个文件是公用的, 搜索页面的列表也用到这个模板文件,你仿照我的方法 自己在search.php 里面加入就可以了