目标:订单详情页可以根据订单查询当前物流信息。

效果图:

  

思路:点击后异步请求快递查询api,接受返回信息,拼接。

代码:

admin下:order_info.htm

//一:顶部插入jquery,在{if $user}{/if}后添加
<div id="topbara" style="display: none">
<table width="100%" border="0" id="aaa">
</table>
</div>
{if $ship}
<input type="hidden" id="apiname" value="{$apiname}">
{/if} //二:80行左右 查找{$order.order_sn} 替换这一个td
<td width="34%">{$order.order_sn}&nbsp;&nbsp;{if $ship}[<span id="postnu" style="cursor:pointer" value="{$postnu}">查看物流</span>]{else}[<span >暂无物流信息</span>]{/if}{if $order.extension_code eq "group_buy"}<a href="group_buy.php?act=edit&id={$order.extension_id}">{$lang.group_buy}</a>{elseif $order.extension_code eq "exchange_goods"}<a href="exchange_goods.php?act=edit&id={$order.extension_id}">{$lang.exchange_goods}</a>{/if}</td> //三:插入底部文件上面插入 Ajax异步接受和拼接数据
{literal}
<script>
$("#postnu").click(function () {
var postnu=$("#postnu").attr('value');
var apiname=$("#apiname").attr('value');
Ajax.call('order.php?act=show_wuliu','postnu='+postnu+'&apiname='+apiname ,showwuliu,'GET','TEXT');
});
function showwuliu(res) {
var data=JSON.parse(res);
var html="<caption><strong>物流详情 <span style='color:orangered' onclick='myclose()'><i>点击关闭</i></span></strong></caption>";
if (data["nu"]==''&&data["ischeck"]==0) {
html+="<caption><strong>"+data["message"]+"</strong></caption>";
}else{
for (var i = 0;i<data["data"].length;i++){
html+="<tr><td> 时间 :</td><td>"+data["data"][i]["time"]+"</td></tr><tr><td> 物流状态: </td><td>"+data["data"][i]["context"]+"</td></tr>}";
}
}
html +=" ";
$("#aaa").empty();
$("#aaa").append(html);
$("#topbara").show();
}
function myclose() {
document.getElementById( "topbara" ).style="display:none";
}
</script>
{/literal}

admin下:order.php

/*在act==info里面插入(判断是否打印订单上面即可)查询语句根据自己数据库调整*/
$select_sql = 'SELECT shipping_status,invoice_no,sp_api_name FROM '.$ecs->table('order_info').' order_info INNER JOIN '.$ecs->table('shipping').' shipping ON order_info.shipping_id=shipping.shipping_id where order_id='.$order_id;
$order_val=$db->getRow($select_sql);
$smarty->assign('ship',$order_val["shipping_status"]);
$smarty->assign('postnu',$order_val["invoice_no"]);
$smarty->assign('apiname',$order_val["sp_api_name"]); /*act==info下添加(该获取方式不推荐,次数多会被封账号,建议购买)*/
elseif ($_REQUEST['act']== 'show_wuliu'){
$apiname=$_GET['apiname'];
$postnu=$_GET['postnu'];
$url = "http://m.kuaidi100.com/query?type=" . $apiname . "&postid=" . $postnu . "&id=1&valicode=&temp=0.90644506498" . $temp;
$aaa=file_get_contents($url);
die($aaa);
}

部分代码根据自己的结构进行调整即可。

tag:ecshop二次开发 查询物流信息 订单号查询 复制可用 快递信息

ecshop根据订单号查询物流信息的更多相关文章

  1. ECSHOP快递单号查询插件圆通V8.2专版

    本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知 ...

  2. ECSHOP快递物流单号查询插件

    本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知 ...

  3. ECSHOP和SHOPEX快递单号查询百世快递插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  4. ECSHOP和SHOPEX快递单号查询顺丰插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  5. ECSHOP和SHOPEX快递单号查询申通插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  6. ECSHOP和SHOPEX快递单号查询韵达插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  7. ECSHOP和SHOPEX快递单号查询国际EMS插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  8. ECSHOP和SHOPEX快递单号查询德邦插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  9. ECSHOP和SHOPEX快递单号查询EMS插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

随机推荐

  1. CSS之 relative 特性

    1. 自身特性: 如left,right,top,bottom定位都是相对于自身位置定位. 当left与right同时存在,lfet生效. 当top与bottom同时存在,top生效. 无侵入,保留原 ...

  2. Locust性能测试框架,从入门到精通

    1. Locust简介 Locust是使用Python语言编写实现的开源性能测试工具,简洁.轻量.高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力. 主要特点如下: 使用普通的P ...

  3. 深入理解final和static关键字

    深入理解final和static关键字 参考:http://blog.csdn.net/qq1028951741/article/details/53418852 final关键字 final关键字可 ...

  4. celery rabbit mq 详解

    Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...

  5. jQuery的区别:$().click()和$(document).on('click','要选择的元素',function(){})的不同

    jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式.就拿$().click()和$(document).on('click','要选择 ...

  6. 解决IDEA Struts2 web.xml问题

    用IDEA整合SSH时,在web.xml中配置Struts2核心过滤器--"<filter-class>org.apache.struts2.dispatcher.ng.filt ...

  7. request的getServletPath(),getContextPath(),getRequestURI(),getRealPath("/")区别

    假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果 ...

  8. AsposeCell特定格式表格

    效果图: Workbook workbook = new Workbook(); Worksheet sheet = (Worksheet)workbook.Worksheets[0]; Cells ...

  9. iOS之 LLDB调试常用命令

    LLDB是LLVM下的调试器.Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB. 1. p 用于输出基本类型 2. po 用于输出Objective-C对象 3. ex ...

  10. 2017 多校训练 1002 Balala Power!

    Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...