給ecshop添加已賣完售完產品圖效果

當店鋪的庫存不足時,要及時在產品的列表頁以及其餘的位置顯示已賣完售完按鈕。 php

如下星辰博客一系統默認模板爲例。 默認模板左上角都有個 best hot 這個按鈕。 sql

一、在模板 default/library/goods_list.lbi 加入樣式, 這個樣式就是在每個圖片上面加入隱藏的已售完圖標 數據庫

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

二、修改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, ' .
"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";

三、 查詢出來要把這個值給傳單到模板去 修改 大概505 行左右(category.php文件中) .net

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

效果如圖: 圖片

給ecshop添加已賣完售完產品圖效果

這樣就能夠了, 到後臺清楚下緩存 ,若是庫存爲0 就能夠看到了 左上角那個best 了 由於 goods_list.lbi 這 get

個文件是公用的, 搜索頁面的列表也用到這個模板文件,你仿照個人方法 本身在search.php 裏面加入就能夠了 博客

相關文章
相關標籤/搜索