请问修复ecshop订单打印无法显示省市地区的问题

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

 近日一客户反映过来,订单打印的地区信息当中,居然不显示省市地区信息,很是悲剧。

到网上搜索了下, 关于ECSHOP此问题的帖子不在少数,总结下,修正如下:

这个问题解决了,通过修改代码。下面是解决方法:


打开admin/order.php,找到第411行,将以下代码:

  1. $region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region") . " WHERE region_id IN ($region_id)");
复制代码
改为:
  1. $region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region"));
复制代码

这是一种修正方法,但是不完美,建议以下:

打开admin/order.php , 约在 406行的位置

  1.         $region_id = !empty($_CFG['shop_country']) ? $_CFG['shop_country'] . ',' : '';
  2.         $region_id .= !empty($_CFG['shop_province']) ? $_CFG['shop_province'] . ',' : '';
  3.         $region_id .= !empty($_CFG['shop_city']) ? $_CFG['shop_city'] . ',' : '';
  4.         $region_id = substr($region_id, 0, -1);
  5.         $region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region") . " WHERE region_id IN ($region_id)");
复制代码

调整成:

  1.         $region_id = !empty($_CFG['shop_country']) ? $_CFG['shop_country'] . ',' : '';
  2.         $region_id .= !empty($_CFG['shop_province']) ? $_CFG['shop_province'] . ',' : '';
  3.         $region_id .= !empty($_CFG['shop_city']) ? $_CFG['shop_city'] . ',' : '';
  4.         $region_id .= !empty($order['country']) ? $order['country'] . ',' : '';
  5.         $region_id .= !empty($order['province']) ? $order['province'] . ',' : '';
  6.         $region_id .= !empty($order['city']) ? $order['city'] . ',' : '';
  7.         $region_id .= !empty($order['district']) ? $order['district'] . ',' : '';
  8.         $region_id = substr($region_id, 0, -1);
  9.         $region = $db->getAll("SELECT region_id, region_name FROM " . $ecs->table("region") . " WHERE region_id IN ($region_id)");
复制代码

其实ECSHOP应该是希望在查询时只读出需要的内容,但忘了加上订单收货人信息