ecshop 首页发货查询去掉URL,添加快递公司名称

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



09年做了一次ecshop二次开发,相隔这么多年了,最近公司搞一个商城,所以又开始接触ec了,好了,言归正传,首先我的版本是2.7.3-utf8

一:找到index.php程序,在程序的第173行找到这个函数,即: index_get_invoice_query(),把里面的foreach住宿掉即可,或者删除也行,推荐注释吧,万一你那天又要的话,就去掉注释,注释的方法就是这两个符合,/* */,在这两个符合中间的为要注释的内容,就是下面这段程序,这个程序我已经加了注释了,你把你index.php的这个地方也这样加起来


  1. /*foreach ($all AS $key => $row)
  2. {
  3. $plugin = ROOT_PATH . 'includes/modules/shipping/' . $row['shipping_code'] . '.php';
  4. if (file_exists($plugin))
  5. {
  6. include_once($plugin);
  7. $shipping = new $row['shipping_code'];
  8. $all[$key]['invoice_no'] = $shipping->query((string)$row['invoice_no']);
  9. }
  10. }*/
复制代码



二:个人感觉这个不太人性化,如果发货单这里再加上一个快递公司的名称就完美了,人家一看就知道是哪个快递公司的单,这里我们再改一下,非常简单;
1:找到index.php程序,在程序的第173行找到这个函数,即: index_get_invoice_query(),有这么一段sql语句

  1. $sql = 'SELECT o.order_sn, o.invoice_no, s.shipping_code FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS o' .
  2. ' LEFT JOIN ' . $GLOBALS['ecs']->table('shipping') . ' AS s ON s.shipping_id = o.shipping_id' .
  3. " WHERE invoice_no > '' AND shipping_status = " . SS_SHIPPED .
  4. ' ORDER BY shipping_time DESC LIMIT 10';
复制代码


用下面这段sql替换上面那段即可:

  1. $sql = 'SELECT o.order_sn, o.invoice_no, s.shipping_code,s.shipping_name FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS o' .
  2. ' LEFT JOIN ' . $GLOBALS['ecs']->table('shipping') . ' AS s ON s.shipping_id = o.shipping_id' .
  3. " WHERE invoice_no > '' AND shipping_status = " . SS_SHIPPED .
  4. ' ORDER BY shipping_time DESC LIMIT 10';
复制代码


(小提示:看见这句sql最后一个数字没:LIMIT 10,如果你想提取5条,那么就是LIMIT 5,如果是20条,那么就是LIMIT 20,另外注意模板要对上,别搞的提取的越多,你模板撑开了,哈哈)
2:在首页模板里themes/defaule/index.dwt 里加入{$invoice.shipping_name} 这样即可,这个大括号标签的作用就是显示出快递公司名称,你可以放在首页任何地方!

订单号 2012092706313

发货号 1234534534

配送方式:中通速递


回答:
好帖子就得要顶呀!!!

不错的,用过了


好用不??????试下?