ecshop存在打印订单不显示用户省市区的bug
这个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,而第一种方法只是解决了同城市的问题,所以这里还是建议使用第二种方法,看自己的需要吧。。
马克
不错啊。非常好。又学新知识了。。。