ecshop商品列表頁面的按上架時間、價格、更新時間是默認的,現在需要添加的是按銷量排行,但是在商品表里面沒有銷量的字段,最模板搜集整理提供如下辦法:
STEP1:在表“ecs_goods”添加字段:salesnum(注:自定義字段名)
STEP2:打開根目錄下文件:flow.php
找到下面的代碼:
/* 插入訂單商品 */
$sql = “INSERT INTO ” . $ecs->table(’order_goods’) . “( ” .
“order_id, goods_id, goods_name, goods_sn, product_id, goods_number, market_price, “.
“goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id) “.
” SELECT ‘$new_order_id’, goods_id, goods_name, goods_sn, product_id, goods_number, market_price, “.
“goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id”.
” FROM ” .$ecs->table(’cart’) .
” WHERE session_id = ‘”.SESS_ID.”‘ AND rec_type = ‘$flow_type’”;
$db->query($sql);
在這段代碼的下面,添加如下代碼:
/* 插入商品表的salesnum 字段,統計銷量排行 */
$sql = "update " .$GLOBALS['ecs']->table('goods') . " AS a, ".$GLOBALS['ecs']->table('cart') . " AS b ".
" set a.salesnum= a.salesnum + b.goods_number".
" WHERE a.goods_id=b.goods_id AND b.session_id = '".SESS_ID."' AND b.rec_type = '$flow_type'";
$db->query($sql);
STEP3:打開文件:default/library/goods_list.lbi,找到下面的代碼:
<a href=”category.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=last_update&order=<!– {if $pager.sort == ‘last_update’ && $pager.order == ‘DESC’} –>ASC<!– {else} –>DESC<!– {/if} –>#goods_list”><img src=”images/last_update_<!– {if $pager.sort == ‘last_update’} –>{$pager.order}<!– {else} –>default<!– {/if} –>.gif” alt=”{$lang.sort.last_update}”></a>
在上面那段代碼的下面添加:
<a href=”category.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=salesnum&order=<!– {if $pager.sort == ’salesnum’ && $pager.order == ‘DESC’} –>ASC<!– {else} –>DESC<!– {/if} –>#goods_list”><img src=”images/sales_<!– {if $pager.sort == ’salesnum’} –>{$pager.order}<!– {else} –>default<!– {/if} –>.gif” alt=”按銷量排行”></a>
兩段代碼的區別,自己去分析看看吧。
STEP4:打開文件:category.php,找到如下代碼:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array(’goods_id’, ’shop_price’, ‘last_update’)))
修改為:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array(’goods_id’, ’shop_price’, ‘last_update’,’salesnum’)))
新聞熱點
疑難解答