為商品列表新增銷量排序功能,效果圖如下:
思路整理:
1.計算銷量
2.顯示銷量
3.增加銷量排序圖示及效果
4.銷量排序。
具體實現:
1.計算銷量。
修改category.php檔案的
category_get_goods()方法,在資料庫查詢語句增加銷量列
(sale_number)
。紅色部分為新增的**如下:
...省略
...$sql = 'select(
select sum(goods_number) from ecs_order_goods where goods_id=g.goods_id and order_id in (select order_id from ecs_order_info where order_status=1)) as sale_number,g.goods_id, g.goods_name,g.goods_number,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$extorder by $sort$order";
...省略
...$arr[$row['goods_id']]['name'] = $row['goods_name'];
$arr[$row['goods_id']]['sale_number']
=$row['sale_number'];//銷量
2.顯示銷量
2.1在languages
資料夾中的
commom.php
檔案中新增如下**
$_lang['sale_number'] = '銷量:
2.2修改
goods_list.lbi
檔案,新增如下紅框**。
此時頁面已經可以顯示銷量:
3.增加銷量排序圖示及效果
修改goods_list.lbi
(sale_number_asc.gif,sale_number_desc.gif,sale_number_default.gif)
新增位置如下:
4.銷量排序。
4.1在
ecshop\languages\zh_cn\admin\shop_config.php
中新增
$_lang['cfg_range']['sort_order_type']['3'] = '按銷量
4.2修改
category.php
排序的引數
($default_sort_order_type,$sort),紅色部分為修改部分
/* 排序、顯示方式以及型別
*/$default_sort_order_type = $_cfg['sort_order_type'] == '0' ? 'goods_id' :(
$_cfg
['sort_order_type'] == '1' ? 'shop_price' : (
$_cfg
['sort_order_type'] == '2' ? 'last_update' : 'sale_number'));
$sort = (isset($_request['sort']) && in_array(trim(strtolower($_request['sort'])),array('goods_id','sale_number',
'shop_price', 'last_update'))) ? trim($_request['sort']) : $default_sort_order_type;
截至目前為止,該功能就實現了。
ecshop商品列表頁面增加按銷量排行
1 在表 ecs goods 新增字段 salesnum 注 自定義欄位名 2 開啟根目錄下檔案 flow.php 找到 插入訂單商品 sql insert into ecs table order goods order id,goods id,goods name,goods sn,produc...
讓ecshop顯示商品銷量或者月銷量
首先,ecshop的資訊顯示模組在.includes lib goods.php檔案 在其末尾新增下面這個函式 月銷量 和總銷量二選一 function ec buysum goods id else 總銷量 和月銷量二選一 function ec buysum goods id else 然後,在...
ecshop商品列表呼叫顯示商品屬性的方法
ecshop商品列表呼叫顯示商品屬性已經是乙個非常古老的話題,也是乙個非常值得去研究的話題。很多時候在ecshop二次開發的時候,很多朋友為了增加ecshop商品列表的可讀性。都提出要求在ecshop商品列表顯示ecshop屬性。先說說ecshop詳細頁面,ecshop商品詳細頁面,他呼叫屬性是通過...