先看效果图:
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 行加入一个查询字段
3、 查询出来要把这个值给传单到模板去 修改 大概505 行左右(category.php文件中)/* 获得商品列表 */ //就是加入了下面 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, ' .
"IFNULL(mp.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";
$arr[$row['goods_id']]['name'] = $row['goods_name'];//在他上面加入了一行$arr[$row['goods_id']]['goods_number'] = $row['goods_number'];
这样就可以了, 到后台清楚下缓存 ,如果库存为0 就可以看到了 左上角那个best 了 因为 goods_list.lbi 这
个文件是公用的, 搜索页面的列表也用到这个模板文件,你仿照我的方法 自己在search.php 里面加入就可以了