您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程

ecshop商品销量显示月销量已销售或总销量的方法

语蓉2024-01-16 21:45:26ecshop商城教程已有人查阅

导读ECSHOP商品销量显示月销量已销售或总销量二次开发教程-本文章以默认的ECSHOP模板为例作讲解:ECSHOP模板前台页面商品的相关信息在/includ

ECSHOP商品销量显示月销量已销售或总销量二次开发教程-本文章以默认的ECSHOP模板为例作讲解:
ECSHOP模板前台页面商品的相关信息在/includes/lib_goods.php文件里,那么,首先我们找到这个文件,在其末尾?>符号前添加下面这个函数(月销量和总销量二者任选其一)
月销量:
function ec_buysum($goods_id){
$LMonth=strtotime("last month"); //前一个月
$nowTime=time(); //当前时间
$sql="select sum(goods_number) from " . $GLOBALS['ecs']->table('order_goods') . " AS g ,".$GLOBALS['ecs']->table('order_info') . " AS o WHERE o.order_id=g.order_id and g.goods_id = ".$goods_id." and o.pay_status=2 and o.add_time >= ".$LMonth." and o.add_time <= ".$nowTime." group by g.goods_id";
if (($GLOBALS['db']->getOne($sql)) == ""){
return "0";
}
else
{
return $GLOBALS['db']->getOne($sql);
}}
总销量:
function ec_buysum($goods_id){
$sql = "select sum(goods_number) from " . $GLOBALS['ecs']->table('order_goods') . " AS g ,".$GLOBALS['ecs']->table('order_info') . " AS o WHERE o.order_id=g.order_id and g.goods_id = " . $goods_id . " and o.order_status=5 " ;
if (($GLOBALS['db']->getOne($sql)) == "")
{
return "0";
}
else
{
return $GLOBALS['db']->getOne($sql);
}}
然后,还是在同一个文件里,找到(大约317行)
$goods[$idx]['brand_name'] = isset($goods_data['brand'][$row['goods_id']]) ? $goods_data['brand'][$row['goods_id']] :'';
在其下面添加如下代码:
$goods[$idx]['buy_num']= ec_buysum($row['goods_id']);
这样,您在模版中可以调用数据了,变量名为: $goods.buy_num
当然,这里只是修改了首页调用部分,如果您想在分类页和商品详情页调用销量应该怎么做呢?
先来看商品详情页如何操作,仍然只修改/includes/lib_goods.php这个文件
找到(大概594行)
/* 修正商品图片 */
​​​​​​​$row['goods_img'] = get_image_path($goods_id, $row['goods_img']);
在其下方添加
/*显示商品销量*/
$row['buy_num'] = ec_buysum($row['goods_id']);
就可以了,然后在goods.dwt模板文件中适当的位置调用数据 ,变量名为: $goods.buy_num
接下来在分类页调用:找到/category.php
大约在第508行下面 插入
$row['buy_num'] = ec_buysum($row['goods_id']);
然后goods_list.lbi库文件中合适的位置使用 $goods.buy_num

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

本栏推荐

相关标签