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
2765
本文模板屋原创地址:https://www.ecshop119.com/ecshopjc-1002.html © 模板屋版权所有 转载时必须以链接形式注明出处。