A-A+

ecshop存在打印订单不显示用户省市区的bug

2016年01月01日 PHP开源系统 评论 2 条 阅读 8 views 次

这个bug已经存在很久了,记得以前在夏日博客发布的文章中已经提到了,但现在没找到这篇文章,算了还是再重新写一遍吧,只是没想到在 ecshop 官网下载到的最新版,依然存在着这个小的 bug。

在 ecshop 后台明明正常显示收货人的省市区等详细的地址,但是在打印快递单的时候,怎么也显示不出来,只能gg以前的老文章了,解决起来也很简单,只是稍作更改就可以了。

首先打开 admin/order.php 文件,找到如下的代码:

$region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region") . " WHERE region_id IN ($region_id)");

修改为如下代码:

$region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region"));

还有第二种方法,这种是 gg 上面搜到的,我们先来看一下吧。

同样打开 admin/order.php 文件,搜索如下的代码:

$region_id .= !empty($_CFG['shop_city']) ? $_CFG['shop_city'] . ',' : '';

在这段代码的后面添加如下代码:

$region_id .= !empty($order['province']) ? $order['province'] . ',' : '';$region_id .= !empty($order['city']) ? $order['city'] . ',' : '';$region_id .= !empty($order['district']) ? $order['district'] . ',' : '';

去官网论坛上面求助了一下,原来官方的意思是如果收货人跟网店设置的是一个地址的话,会显示出来收货人的地址,如果是其它城市的话则不显示,所以这就是一个明显的 bug,而第一种方法只是解决了同城市的问题,所以这里还是建议使用第二种方法,看自己的需要吧。。

标签:

2 条留言  访客:2 条  博主:0 条

  1. 大学问社区

    马克

  2. 站长博客

    不错啊。非常好。又学新知识了。。。

给我留言