新闻中心
解决最新ecshop2.7.3存在卖家打印快递单时不显示收货人省市区的完美解决方案
上个月一位站长朋友在无忧主机官网购买了一款独立ip空间,该站长是用Ecshop开源程序做的销售手表的商城。开始的时候生意已经很跑火,当然我们公司的主机空间也是很给力。但是今天该站长来联系小编,发现当客户在他那边下单的时候。他要打印快递单号邮寄给买家发现了一个问题就是用打印机打印买家的收货省市区的时候居然不显示具体的地址。小编对该程序进行了仔细的分析。发现的确Ecshop2.7.3这个开源程序新建的商城。以前小编的确给很多站长朋友们建站也是没有发现这个问题的。小编又搜索了一些技术文档和Ecshop的官方论坛,的确发现了一个小小的bug存在,这可以说是程序自身的漏洞导致的。小编研究分析后得到了完美的解决方案。下面小编为大家分享下小编研究出的两种完美解决方案。 第一种方案如下: 打开/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")); 按照以上方法修改保存上传后。问题虽然解决了,如果按照Ecshop官方原来的程序的意思分析是只有当收货人跟本网店站长所开的商城在同一个省市的时候才会显示出来,这明显不对啊。因为很多站长都是全国各地。五湖地海都是有的。不可能限制在和卖家同省市区吧。但是如果在后台网店设置中将自己的网店地址写成跟收货人一样的时候,再去打印快递单,也是可以显示出来的。第一种方案还是有点繁琐。小编又研究出了另一种方案如下。 第二种方案:打开/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'] . ',' : ''; 按照小编的第二种解决方案,加上以下代码就可以不用在网站的后台重新修改卖家的地址和收货人的地址在一个省份就可以完美解决了。
本文地址:https://www.51php.com/ecshop/14908.html