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快递.汇通快递.宅 ...
随机推荐
- 转:扩展方法(C# 编程指南)
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用.对于用 C# 和 Visual ...
- win10 uwp 模拟网页输入
有时候需要获得网页的 js 执行后的源代码,或者模拟网页输入,如点按钮输入文字. 如果需要实现,那么就需要用 WebView ,使用方法很简单. 首先创建一个 WebView ,接下来的所有输入都需要 ...
- 张高兴的 Windows 10 IoT 开发笔记:HC-SR04 超声波测距模块
HC-SR04 采用 IO 触发测距.下面介绍一下其在 Windows 10 IoT Core 环境下的用法. 项目运行在 Raspberry Pi 2/3 上,使用 C# 进行编码. 1. 准备 H ...
- uva1629,Cake Slicing,记忆化搜索
同上个题一样,代码相似度极高,或者说可以直接用一个模板吧 dp[i,j,p,q]表示一块长为j-i+1,宽为q-p+1,左上角在位置(i,j)上的蛋糕,dp[]表示当前状态下的最优值,然后对该块蛋糕枚 ...
- 如何高效的编写Verlog HDL——菜鸟版
工欲善其事.必先利其器!要想高效的编写verilog没有一个好的编辑器可不行,所以我这里推荐两款十分好用的编辑器Notepad++和Gvim,这两款编辑器由于其强大的添加插件的功能,所以深受代码工作者 ...
- Superset连接Impala数据源
公司最近在superset上面做二次开发,目前对接了mysql和oracle数据源,对这两个源的SQL操作查询做了完善和兼容.目前有新的需求就是要对接大数据部门的HBASE和HIVE数据源,由于sup ...
- Best MVC Practices(最优的MVC布局)
Best MVC Practices 最优的MVC布局策略 Model View Controller 1.数据层 2.视图层 3.控制器层 Although Model-View-Controlle ...
- python 进程池(multiprocessing.Pool)和线程池(threadpool.ThreadPool)的区别与实例
一般我们是通过动态创建子进程(或子线程)来实现并发服务器的,但是会存在这样一些缺点: 1.动态创建进程(或线程)比较耗费时间,这将导致较慢的服务器响应. 2.动态创建的子进程通常只用来为一个客户服务 ...
- c++学习笔记---02---从一个小程序说起
从一个小程序说起 这一讲的主要目的是帮助大家在C语言的背景知识上与C++建立联系. 问题探索 问题:对一个整型数组求和. 要求:定义一个存储着 n 个元素的数组,要求用C语言完成这个任务. 赶紧的:大 ...
- rem 单位
rem(font size of the root element)是指相对于根元素的字体大小的单位. 主流的一些web app的适配解决方案: 流式布局: 流式布局在页面布局的时候都是通过百分比 ...