ecshop根据订单号查询物流信息
目标:订单详情页可以根据订单查询当前物流信息。
效果图:
思路:点击后异步请求快递查询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} {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根据订单号查询物流信息的更多相关文章
- ECSHOP快递单号查询插件圆通V8.2专版
本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知 ...
- ECSHOP快递物流单号查询插件
本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知 ...
- ECSHOP和SHOPEX快递单号查询百世快递插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询顺丰插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询申通插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询韵达插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询国际EMS插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询德邦插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询EMS插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
随机推荐
- Extjs6(四)——侧边栏导航根据路由跳转页面
本文基于ext-6.0.0 之前做的时候这个侧边栏导航是通过tab切换来切换页面的,但是总感觉不太对劲,现在终于发现怎么通过路由跳转了,分享给大家,可能有些不完善的地方,望大家读后可以给些指点.欢迎留 ...
- 企业微信开发之向员工付款(C#)
一.企业微信API 地址:http://work.weixin.qq.com/api/doc#11545 二.参数说明 1.向员工付款 请求方式:POST(HTTPS)请求地址:https://api ...
- 多线程之Map:Hashtable HashMap 以及ConcurrentHashMap
1.Map体系参考:http://java.chinaitlab.com/line/914247.htmlHashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.syn ...
- 【前端】Require.js使用方法总结
一.为什么要使用require.js 首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长:其次,由于js文件之间存在依赖关系,因此必须严格保证加载 ...
- 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)
在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...
- OSW 快速安装部署
关于在运行Oracle的环境下部署OSW具体好处不再多说,只需要知晓,在日常Oracle定位各类故障,osw的数据可以协助诊断问题.MOS很多文档也多处提到需要osw的监控数据. 一.前期资料准备 1 ...
- THE MATRIX PROBLEM
THE MATRIX PROBLEM Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Pendant
Pendant Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 理解Java包
本质上,包是一个唯一命名的类的集合,将类集合到包里面的主要原因,是为了当在应用程序中使用预先编写的类时避免与类自身可能引起的明明冲突.用于包中的类名不会妨碍另一个包或程序中的类名,因为此时,包中的类名 ...
- linux进程资源占用高原因分析命令记录
1.查看进程的线程: ps -eLf|egrep 'gateserver|UID' 2.跟踪线程调用: strace -p 15530 3.统计线程中函数的调用小号CPU时间: strace -p 1 ...