Ecshop实现仿淘宝按地区显示运费

淘宝网(Taobao)购物的宝贝详情页面,可以针对不同地区显示不同运费,运费由后台设定;结算时间,按重量、件数计算运费。Ecshop本身有配送方式插件,已有多家物流公司插件,例如:顺丰快递、申通快递、圆通快递等。本文介绍如何实现按地区显示运费,并且让每个商品绑定运费模板。

     1、Ecshop后台配送方式创建

进入Ecshop后台"系统设置-->配送方式",将“顺丰快递”改名称为“粮食快递”,配送ID号为6。

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

     2、商品绑定配送方式的运费模板

       2.1 数据表“ecs_goods”增加一个字段,执行下面SQL语句:

 

 
1
;

 

2.2 后台添加/编辑 商品 调出已经安装配送方式 "admin/ goods.php ",将此shipping_list函数添加到goods.php最末处。

 

 
1
2
3
4
5
6
7
8
9
10
11
12
/**
* 取得已安装的配送方式
* @return  array   已安装的配送方式
*/
)
{
.
.
;
 
;
}

在代码前“$smarty->assign('unit_list', get_unit_list());”增加调用代码

 
1
2
3
4
// LONGHTML 增加运费模板
;
// END
;

在“/* 处理商品数据 */”后面,增加POST过来的“shipping_id ”表单值进行赋值

 
1
2
3
4
5
/* 处理商品数据 */
 
// LONGHTML 运费模板(新增,更新)
;
// END

最后一步是“插入/更新”商品时,对“shipping_id”字段实现处理。直接替换掉下面代码

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* 入库 */
)
{
)
{
.
.
.
.
.
.
.
.
.
.
;
}
else
{
.
.
.
.
.
.
.
.
.
.
;
}
}
else
{
/* 如果有上传图片,删除原来的商品图 */
.
.
;
;
)
{
;
;
}
 
)
{
;
}
 
)
{
;
}
 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
;
 
/* 如果有上传图片,需要更新数据库 */

 

      2.3 后台添加/编辑商品 实现绑定配送方式"admin/goods_info.htm"

 

 
1
2
3
4
5
6
7
8
>
>
}
}
>
}
>
>

 

在品牌下面,增加绑定运费模板。效果如下:
Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

      3、前台商品详情调用设置好的配送方式

以主题default为例,增加新文件:
1、chrome.js (themes/default/js)
2、icon_2.jpg (themes/default/images)相关文件下载

goods.php页面商品显示部分加入调用代码

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/***** 商品页按地区显示运费 ***********************************************************************/
;
;
)
{
;
;
)
{
;
)
{
)
{
)
{
;
}
}
}
.
.
;
;
)
{
;
}
}
;
}
;
)
{
//默认显示广东省
;
;
}
 
)
{
;
)
{
)
{
)
{
)
{
;
}
}
}
)
{
;
;
}
}
;
}
;
/****************************************************************************/

goods.dwt  加在需要显示运费的地方,根据自己需要调整。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
>
</script>
}
}
>
}
;
}
>
>
}
}
>
}
>
}
>
<script>
)
{
;
;
}
;
</script>
<style>
}
}
}
</style>
>

 

前台显示最终效果图,默认广东省

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

     4、结算流程中,根据配送地址计算运费

        4.1 重写“include/lib_order.php”中last_shipping_and_payment函数。多个商品,不同配送方式,调用配送方式ID,以最贵配送方式计算。买家可以找客服进行,运费改价。

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* 获得上一次用户采用的支付和配送方式
*
* @access  public
* @return  void
*/
)
{
.
.
.
;
;
 
/* LONGHTML 获得购物车中商品 运费模板最大值 */
.
.
.
.
;
;
;
// END
 
)
{
/* 如果获得是一个空数组,则返回默认值 */
;
}
 
;
}

4.2  flow.php购物流程checkout,done步骤,调用商品绑定的配送方式

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
修改购物车赋值 */
)
{
;
}
else
{
;
}
 
// LONGHTML 最大值的运费模板
;
;
;
// END

将themes/default/flow.dwt配送方式隐藏掉

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

 

 5、经过上面多处增加/修改,测试一下运行效果。

广东  首重10KG 7元,续重0.7元/KG

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

原文地址:http://blog.uuecs.com/archives/ecshop-achieve-imitation-taobao-freight-by-region.html

相关文章:

  • 2021-09-02
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2021-10-28
  • 2021-05-12
  • 2021-04-12
  • 2022-12-23
猜你喜欢
  • 2021-12-04
  • 2021-12-03
  • 2021-07-05
  • 2022-03-01
  • 2022-12-23
相关资源
相似解决方案