分类目录归档:06 API及插件-常见问题

API插件问题汇总(ShopEx、Ecshop等)

 

一、所有:

二、Ecshop相关:

三、ShopEx相关:

shopex 按教程安装,不显示查询按钮

  • 问:(来自原友商论坛)

顶楼

发表于 2011-10-24 17:13:53
本帖最后由 kuaidi100_API 于 2011-10-27 16:40 
授权Key已输入,然后上传文件,刷新插件数据库,启用快递查询接口。
已检查快递公司名字一致。
无任何错误提示,不显示“查询物流”按钮。

 

  • 答:原因是我们的插件与用户现有的插件的文件产生冲突,解决办法是将我们新增的代码抽出来放到用户现有的文件中去。对于新增的代码,由于比较难说明,有需要的请添加企业QQ 4008800898转快递100索要。

安装ShopEx快递查询插件不显示商品图片

  • 问:按照说明成功安装快递查询插件,进入订单页面后能正常显示快递信息,但是商品图片却一直加载,并且一直不加载成功,不能显示图片.请问这是怎么回事呢?(来自原友商论坛用户 购物快车)

 

  • 答:

修改方法一:
造成这个问题的主要原因,是由于ShopEX使用的是mootools框架,和我们插件使用的JQuery有冲突。
解决办法是将JQuery的$变成字母来调用,或者就取消LazyLoading功能。
我们已将插件进行了修改,您可以直接下载附件中的最新版本重新安装使用。
感谢您的支持!

shopex_v4.85快递查询插件(v3.0版)(解决图片显示)

修改的方法二:
先备份好\core\shop\view\member目录下面的orderdetail.html文件,然后用这里附件的文件,替换掉\core\shop\view\member目录下面的orderdetail.html文件即可。

orderdetail

 

非默认模版ECshop2.7.2快递跟踪插件修改方法!

声明:本文转载自原友商论坛(已被关闭),原作者的ID为wzkfnet

友商快递100出了快递跟踪插件,这个是个大好事情,对我们ECSHOP用户来说再好不过了。不过官方提供的模版修改方法以及代码只能对默认模版有效,对于其他模版快递跟踪不能正常显示,闲话少说,下面介绍不是默认模版具体修改方法:
本文出自:http://www.wzkf.net/jianzhanzhishi/wangzhanjianshe739.html转载请保留版权,违者必究!

点击下载

步骤一:建议先将Ecshop程序\themes\XXX 目录下的user_transaction.dwt做好备份。很重要这个,万一改错了可以恢复过来,所以大家一定要做好安全措施。

步骤二:在user_transaction.dwt这个文件搜索下面代码

  1. <!– ==========订单详情页面,包括:订单状态,商品列表,费用总计,收货人信息,支付方式,其它信息========== –>
  2.       <!–{if $action eq order_detail} –>

这个注意了:有些模版不一定就是上面这行代码,具体模版具体分析,但是我告诉你一个方法就是,你搜索这些:订单详情页面,包括:订单状态,商品列表,费用总计,收货人信息,支付方式,其它信息  字,就可以找到相应的代码段了。

步骤三:搜索下面代码

  1. <!–{/if} –>
  2.     <!–#订单详情页 end–>

其实有一个技巧就是:订单详情这个模块的代码,自己慢慢找一下就可以了。

将上面两段代码及这两代码码之间的所有代码,用下面的文本文件里面的代码替换掉即可。

点击下载

下载下来的代码有这么一段代码:

  1. <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

这个代码可以先去掉,然后把其他的代码替换掉我上面说的,因为我的这个文件为了适应UTF-8和GBK版本的都能通用,所以加了上面一段编码代码,这样不管你是用什么编码版本的ECSHOP程序都可以使用。

这个注意了:有些模版不一定就是上面这行代码,具体模版具体分析,但是我告诉你一个方法就是,你搜索这些:订单详情页面,包括:订单状态,商品列表,费用总计,收货人信息,支付方式,其它信息  字,就可以找到相应的代码段了。

步骤三:搜索下面代码

  1. <!–{/if} –>
  2.     <!–#订单详情页 end–>

其实有一个技巧就是:订单详情这个模块的代码,自己慢慢找一下就可以了。

将上面两段代码及这两代码码之间的所有代码,用下面的文本文件里面的代码替换掉即可。

ECSHOP 安装完成后 查询无果的终极解决方案

声明:本文转载自原友商论坛(已被关闭),原作者的ID为 aizhixiu

 

我们公司的网站——爱之秀情趣用品商城www.aizhixiu.com)采用的是ecshop系统,上周六申请了快递100 API借口。今天上午审核通过,以邮箱的方式通知的本人。(审核时间比官方承诺的1——2个工作日慢了一天     O(∩_∩)O~)。具体案例地址:http://www.aizhixiu.com/user.php

从上午开始安装,完全安装的官方的教材,一步一步的安装。可是,总是不显示物流跟踪查询结果。提示内容如下:“正在查询物流信息,请稍后…”。反复检 查代码,上论坛找答案,到群里请教高人。可是,都没有有效的解决方案。求人无果,索性求自己。把官方插件代码研究一般后。开始使用排除法解决问题。

第一步,检查官方插件是否能用
本地测试 http://127.0.0.1/plugins/kuaidi100/express.php?com=yuantong&nu=6209098518
结果正确显示物流跟踪结果,截图如下:

 

看到了这个结果,我们可以排除了官方插件的问题。那么下一步就是,ecshop的模板问题了。如果,是系统默认板块,可直接使用。本问题主要解决非ecshop官方默认模板。

第二部,检查模板调用问题。user_transaction.dwt
官方给出方案是:
<!– {if $order.invoice_no}–>
<h5><span>物流跟踪</span></h5>
<div></div>
<table width=”100%” border=”0″ cellpadding=”5″ cellspacing=”1″ bgcolor=”#dddddd”>
<tr><td bgcolor=”#ffffff”><div id=”retData”></div></td></tr>
</table>
<!–{/if}–>
<script language=”javascript”>
document.getElementById(“retData”).innerHTML=”<center>正在查询物流信息,请稍后…</center>”;
var expressid = document.getElementById(“shipping_name”).innerHTML;
var expressno = document.getElementById(“invoice_no”).innerHTML;
Ajax.call(‘plugins/kuaidi100/express.php?com=’+ expressid+’&nu=’ + expressno,’showtest=showtest’, function(data){document.getElementById(“retData”).innerHTML=data;}, ‘GET’, ‘TEXT’);
</script>

仔细研究,这段代码页没有问题,问题出在Ajax.call(‘plugins/kuaidi100/express.php?com=’+ expressid+’&nu=’ + expressno,’showtest=showtest’, function(data){document.getElementById(“retData”).innerHTML=data;}, ‘GET’, ‘TEXT’);
这里。 Ajax.call没有把数据传输给<div id=”retData”></div>。了解ecshop的人都只,ecshop中的ajax对象是在js /transport.js文件中定义的。如果,user_transaction.dwt模板没有引用js/transport.js文件,Ajax自 然不会起作用。数据肯定不会传递给<div id=”retData”></div>。

所以,解决方案是,在user_transaction.dwt模板中引用js/transport.js文件:

{* 包含脚本文件 *}

{insert_scriptsfiles=’transport.js,common.js,user.js’}

到这里,问题解决。查询物流跟踪信息正常显示。

 

———————————————快递100注———————————————

另外一种方法是:

Ajax.call(‘plugins/kuaidi100/express.php?com=’+ expressid+’&nu=’ + expressno,’showtest=showtest’, function(data){document.getElementById(“retData”).innerHTML=data;}, ‘GET’, ‘TEXT’);
改成:
$.get(“plugins/kuaidi100/express.php”,{com:expressid,nu:expressno,showtest:’showtest’},

function(data)

                   {

                            $(“#retData”).html(data);

                   }

EcShop插件一直在查询、参数不对、ajax未定义等问题

  • 问题:安装上EcShop插件后,出现“正在查询物流信息,请稍后…”、“ajax未定义“等情况
  • 原因:ecshop中的ajax对象是在js/transport.js文件中定义的,可能由于您的系统未能将这个文件引进来
  • 解释:Ajax.call( ‘user.php?act=chk_user’, ‘username=’+ username, registed_callback , ‘GET’, ‘TEXT’, true, true);ajax.call后面的参数分别是(请求的URL地址,发送参数,回调函数,请求的方式,有”GET”和”POST”两种,响应类型,有”JSON”、”XML”和”TEXT”三种,是否异步请求的方式,是否安静模式请求)
  •  解决办法:

方法一:在user_transaction.dwt模板中引用js/transport.js文件
http://blog.kuaidi100.com/?p=250

方法二:引用jQuery库,并将ajax.call()换成$.get()
(1)引用jQuery库
方法请参考:http://kb.cnblogs.com/page/46450/2/中的《四.Hello World jQuery》

 (2)将

Ajax.call(‘plugins/kuaidi100/express.php?com=’+ expressid+’&nu=’ +expressno,’showtest=showtest’,function(data){document.getElementById(“retData”).innerHTML=data;},’GET’, ‘TEXT’);

改成

$.get(“plugins/kuaidi100/express.php”,{com:expressid,nu:expressno,showtest:’showtest’},

                   function(data)

                   {

                            $(“#retData”).html(data);

                   }

方法二:手动插入插件代码

详见http://blog.kuaidi100.com/?p=258

“公司参数不正确”问题( ShopEx、EcShop、最土等插件)

1 问题背影
  有大量的用户反馈,在安装我们的插件后,系统提示“公司参数不正确,请核查相关代码”。

2 原因
每个网店系统已配置好物流公司信息,这些信息已包含物流公司的名称,但这些名称与插件里的快递公司名称不一定相同,所以我们要求,将插件的kuaidi100_company.php文件中的快递公司名称,修改成与网店原有的物流公司名称一致。
但许多用户却分不清系统原有的、插件中的,和API使用说明页之间的区别。

3 解决办法
  以下只以ShopEx为例,给出解决方案,其他的插件参考此方法:
ShopEx系统配置物流公司信息的页面是:

 我们的插件的kuaidi100_company.php文件是:

我们的API使用页面

插件中:
  插件的kuaidi100_company.php文件的代码都可以看成是这样的结构:
if($type==”参数1″){$type==”参数2″}

  elseif($type==”参数1″){$type==”参数2″}

  将if($type==”参数1″){$type==”参数2″} 或 elseif($type==”参数1″){$type==”参数2″} 中,所有的“参数1“修改到与ShopEx后台中的快递公司名称一致(即是图一中的“配送方式”栏中的名称);

  “参数2″修改成与http://code.google.com/p/kuaidi-api/wiki/Open_API_API_URL中表格2中的“快递公司代码”一致。
我们提供的ShopEx插件中“参数2“的值已默认提供了的,如果用户作了改动,或者需要新增,就需要自己手动添加。