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

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

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

以下chinab4c一系统默认模板为例。 默认模板左上角都有个 best hot 这个按钮。

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

  1. <!--{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 行加入一个查询字段

  1. /* 获得商品列表 */  //就是加入了下面  g.goods_number,   一定记得加逗号 
  2. $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, ' . 
  3.  "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, g.promote_price, g.goods_type, " . 
  4.  'g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ' . 
  5.  'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' . 
  6.   'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . ' AS mp ' . 
  7.  "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' " . 
  8. "WHERE $where $ext ORDER BY $sort $order"; 

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

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

效果如图:

 

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

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

 

(责任编辑:chinab4c)