ECshop前台分类商品列表如何按销量进行排序
2015-08-16 10:18
316 查看
商品列表页面的按上架时间、价格、更新时间是默认的,现在需要添加的是按销量排行,但是在商品表里面没有销量的字段,这样的话,必须二次开发才可以解决。
步骤如下:
1.在表“ecs_goods”添加字段:salesnum(注:自定义字段名),sql如下:
alter table `ecs_goods` ADD `salesnum` int(11) NOT NULL DEFAULT '0',;
2.打开根目录下文件: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);
在这段代码的下面,添加如下代码:
$sql = "update " .$GLOBALS['ecs']->table('goods') . " , ".$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);
3.打开模版文件:default\library\goods_list.lbi,找到下面的代码:
<a href="{$script_name}.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=”{$script_name}.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/shop_salesnum_<!– {if $pager.sort == ‘salesnum’} –>{$pager.order}<!– {else} –>default<!– {/if} –>.gif” alt=”按商品销量排行”></a>
4.打开文件:category.php,找到如下代码:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
修改为:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update', 'salesnum'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
也就是在代码: ‘last_update’ 的后面添加:, ‘salesnum’
5.数据库操作方法:
找到表名:ec_shop_config
字段名:code
值为:sort_order_type
如下图所示,添加一个数字3在后面!
6.修改语言包:找到文件:languages\zh_cn\admin\shop_config.php 大概位置:293行到295行,代码如下:
$_LANG['cfg_range']['sort_order_type']['0'] = '按上架时间';
$_LANG['cfg_range']['sort_order_type']['1'] = '按商品价格';
$_LANG['cfg_range']['sort_order_type']['2'] = '按最后更新时间';
修改为
$_LANG['cfg_range']['sort_order_type']['0'] = '按商品销量';
$_LANG['cfg_range']['sort_order_type']['1'] = '按商品价格';
$_LANG['cfg_range']['sort_order_type']['2'] = '按上架时间';
$_LANG['cfg_range']['sort_order_type']['3'] = '按最后更新时间';
7.然后在后台——商店设置——显示设置下面可以看到如下图所示:
8.完工
[color=red]常年承接PHP电商类(比如ecshop,shopnc,opencart,zencart,magento等)系统开发,联系我Q919299821[/color]
步骤如下:
1.在表“ecs_goods”添加字段:salesnum(注:自定义字段名),sql如下:
alter table `ecs_goods` ADD `salesnum` int(11) NOT NULL DEFAULT '0',;
2.打开根目录下文件: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);
在这段代码的下面,添加如下代码:
$sql = "update " .$GLOBALS['ecs']->table('goods') . " , ".$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);
3.打开模版文件:default\library\goods_list.lbi,找到下面的代码:
<a href="{$script_name}.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=”{$script_name}.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/shop_salesnum_<!– {if $pager.sort == ‘salesnum’} –>{$pager.order}<!– {else} –>default<!– {/if} –>.gif” alt=”按商品销量排行”></a>
4.打开文件:category.php,找到如下代码:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
修改为:
$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update', 'salesnum'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
也就是在代码: ‘last_update’ 的后面添加:, ‘salesnum’
5.数据库操作方法:
找到表名:ec_shop_config
字段名:code
值为:sort_order_type
如下图所示,添加一个数字3在后面!
6.修改语言包:找到文件:languages\zh_cn\admin\shop_config.php 大概位置:293行到295行,代码如下:
$_LANG['cfg_range']['sort_order_type']['0'] = '按上架时间';
$_LANG['cfg_range']['sort_order_type']['1'] = '按商品价格';
$_LANG['cfg_range']['sort_order_type']['2'] = '按最后更新时间';
修改为
$_LANG['cfg_range']['sort_order_type']['0'] = '按商品销量';
$_LANG['cfg_range']['sort_order_type']['1'] = '按商品价格';
$_LANG['cfg_range']['sort_order_type']['2'] = '按上架时间';
$_LANG['cfg_range']['sort_order_type']['3'] = '按最后更新时间';
7.然后在后台——商店设置——显示设置下面可以看到如下图所示:
8.完工
[color=red]常年承接PHP电商类(比如ecshop,shopnc,opencart,zencart,magento等)系统开发,联系我Q919299821[/color]
相关文章推荐
- ecshop为商品列表添加销量排序功能
- ecshop商品列表页面增加按销量排序
- C#:ListView控件如何实现点击列表头进行排序
- 如何对html:select下拉列表里的数据进行排序
- ecshop商品列表页面增加按销量排行
- python按综合、销量排序抓取100页的淘宝商品列表信息
- 如何对指针的list列表进行排序
- ECShop在首页调用某分类下的商品列表
- C#:ListView控件如何实现点击列表头进行排序
- ecshop添加商品选择品牌时如何按拼音排序
- 如何利用sorted函数对列表,元组或者对象进行排序
- ecshop 商品列表页面 按销量排行
- ecshop商品列表排序为按商品的商家备注排序
- jsp 里边如何 进行排序 通过已知中文列表名称!
- Python利用公共键如何对字典列表进行排序详解
- ECSHOP将分类下的商品列表修改为当前的分类名称
- 基于ecshop的移动端 etouch实现动态获取分类商品列表
- ecshop 商品列表页面 按销量排行
- C#:ListView控件如何实现点击列表头进行排序?
- ecshop首页如何在后台调用某分类下的商品