阅读:3670回复:0
Magento订单跟踪号获取方式图片:hicoogle_magento_order.jpg Magento前台 订单页面获取订单跟踪号等方式 显得格外繁琐 而不够美观,为什么不把跟踪号直接显示在订单详细页面,而是需要另外点击查看,(可能是考虑到航运信息api 可是这个功能对于我们根本用不上) 通过ajax获取航运订单跟踪号 然后在通过jquery添加一个跟踪地址(来源于另外一个家伙,忘记他的地址,可惜它的代码有问题不能用,搬过来修改完善) 接下来说说如何去修改 /app/design/frontend/default/你的模板/template/sales/order/info.phtml (如果没有这个文件,把base对应的文件借过来) 图片中我是将页面分为左右2个部分即: order-info-box-left(地址 支付信息) order-info-box-right(“关于这个订单” ,所以ajax获取的跟踪号也在这个div中) 在页面尾部添加以下代码: <span style="color: #000;"script/span span style="color: #000;"type/span=span style="color: #a11;""text/javascript"/span>jQuery(document).ready(function () { if ( jQuery('h2.table-caption a').length > 0 ) { //判断是否有添加跟踪信息 jQuery.ajax({ url: "", type: "GET", dataType: "text", beforeSend: function(){ jQuery('.my-account .order-info-box-right dd').after('images/loading.gif') ?>" />');//加载ajax之前出现的loading图片 }, success: function ( code ) { var method = jQuery([color=#000-2]code).find('.label').text(); var trackingNumber = jQuery([color=#000-2]code).find('.value').text(); if ([color=#000-2]method.replace(/ .*/,"") == "USPS") {//判断标题是否是USPS //注意大小写与添加的Title要一致 var carrierURL = "https://tools.usps.com/go/TrackConfirmAction!execute.action?formattedLabel="; var trackingURL = [color=#000-2]carrierURL + [color=#000-2]trackingNumber; }; if ([color=#000-2]method.replace(/ .*/,"") == "UPS") { var carrierURL = "http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums="; var trackingURL = [color=#000-2]carrierURL + [color=#000-2]trackingNumber; }; if ([color=#000-2]method.replace(/ .*/,"") == "DHL") { var carrierURL = "http://www.dhl.com/en/express/tracking.shtml?pageToInclude=RESULTS&type=fasttrack&AWB="; var trackingURL = [color=#000-2]carrierURL + [color=#000-2]trackingNumber; };//可以添加很多..... jQuery('h2.table-caption span, h2.table-caption a').remove();//移除跟踪订单链接 jQuery('.my-account .order-info-box-right dd').after('Tracking Number:' +[color=#000-2]trackingNumber + 'Carrier:' + [color=#000-2]method + 'images/shipping/') ?>' + [color=#000-2]method + '.jpg" /> ');//此处我添加了一个航运图片logo,将图片上传到skin 对应的模板/images/shipping/中 注意图片命名大小写 与添加的Title要一致 jQuery('.my-account .order-info-box-right .ordertrackinnumber:first').after(<span style="color: #a11;">' + [color=#000-2]trackingURL + '">Track Your Order'); },complete: function() {jQuery('.my-account .order-info-box-right .loading').remove();} });//加载完成,隐藏loading图片};});到这里还没完成,还有一处要修改,/app/design/frontend/default/你的模板/template/shipping/tracking/popup.phtml(如果没有这个文件,把base对应的文件借过来),大概124行: : 简单的代码,目的是让客人更方面跟踪订单,一目了然,同时把info.phtml也共享给大家参考。 如果有配置ssl (https)ajax无法从非https地址获取数据, 需要修改几行给调用的URL 加上https: if ( jQuery('h2.table-caption a').length > 0 ) { onClickAction = ""; var URLstripped = onClickAction.replace("http://", "https://"); jQuery.ajax({ url: URLstripped,.........以上内容网络转载,本人觉得用得着,所以就转载过来,大家也可以在下面评论处分享你的看法。 原文:http://mengento.com/修改magento订单跟踪号获取方式.html |
|