最新解决Ecshop2.73与Jquery的冲突

早些年就有人在ecshop论坛反映,为何ecshop不兼容jquery?可是ecshop官网却一直未解决这个问题。由插件联盟网亲自测试并验证过的解决jquery冲突的方法如下:
1.复制一份 transport.js 改名为 transport.org.js 提供给后台使用

2.注释掉js/transport.js里的toJSON功能 行数为497-737行之间。其中将 legalParams = “JSON=” + $.toJSON(params); 替换为result = $.evalJSON(result);

3.修改js/index.js里的第44行,将其改为:var res = $.evalJSON(result);

4.修改js/改common.js,将第34行改为:Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + $.toJSON(goods), addToCartResponse, ‘POST’, ‘JSON’);然后将850行改为:Ajax.call(‘flow.php?step=add_package_to_cart’, ‘package_info=’ + $.toJSON(package_info), addPackageToCartResponse, ‘POST’, ‘JSON’);最后将1056行改为:Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + $.toJSON(goods), addToCartResponse, ‘POST’, ‘JSON’);

5.修改compare.js文件
第49行改为:this.data = $.evalJSON(cookieValue);第67行改为:var obj = $.evalJSON(cookieValue);第133行改为:document.setCookie(“compareItems”, $.toJSON(this.data));

6.修改js/global.js文件,其中将第16行改函数名 :function $e()。然后第114和126行都改为: var element = $e(element);

7.修改后台头部引入transport.js路径 admin/templates/pageheader.htm 第9行改为: {insert_scripts files=”../js/transport.org.js,common.js”}

8.修改themes/default/library/page_header.lbi文件在{insert_scripts files=’transport.js,utils.js’}上面加上如下代码
{insert_scripts files=’jquery.js,jquery.json.js’}

9.修改你的模板下的library/comment_list.lbi。将第188行 替换为:Ajax.call(‘comment.php’, ‘cmt=’ + $.toJSON(cmt), commentResponse, ‘POST’, ‘JSON’);

10.修改模板compare.dwt。将第20行 改为:var obj = $.evalJSON(document.getCookie(“compareItems”));然后第24行 替换为:document.setCookie(“compareItems”, $.toJSON(obj));

11.修改模板flow.dwt,将第138行 替换为:Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + $.toJSON(goods), collect_to_flow_response, ‘POST’, ‘JSON’);然后将第199行 改为:Ajax.call(‘flow.php?step=add_to_cart’, ‘goods=’ + $.toJSON(goods), fittings_to_flow_response, ‘POST’, ‘JSON’);

12.over