给zencart1.39h美化版安装SFC 三态速递接口模块要解决的问题
要看我配置fckeditor和Fast and Easy Checkout模块的请看我以前的文章。
我用的是1.39h美化版,不是lightinthebox模板,所以checkout、login等界面和功能是zencart默认的,很难看,都要美化和改一下才能用的。
首先是按以前的教程装好Fast and Easy Checkout。以下是步骤:
1,去zengcart中文站下载SFC 三态速递接口模块,现在最新的是Zen Cart 的三态速递费率模块 v1.2.1。
2,上传相应文件到Zen Cart安装目录
3, 管理页面 -> 模块管理 -> 配送模块 -> 三态速递,启用相应的快递模块(其它的可以关了)。
4,修改includes\languages\english\modules\shipping\sfc.php,修改MODULE_SHIPPING_SFC_TEXT_TITLE等常量的值。注意english.php里的define('TEXT_SHIPPING_WEIGHT','kg');要设置正确才能算出具体运费。可选g、kg等。
5,这时候点popup_shipping_estimator页面,会出现运费估算页面,出现close windows之后空白的情况,这是由于该页面调用includes\modules\shipping_estimator.php时出错了,解决方法:找到//print_r($quotes);把注销取消,这时候会看到sfc的数组。然后把后面的以下代码删除或者注销:
//4px shipping
require(DIR_WS_CLASSES . 'DSFShipping.php');
$objDSFShipping = new DSFShipping();
if (!$country_info) {
$country_info = $objDSFShipping->getCountryInfo($_SESSION['customer_id'], $sendto);
}
//var_dump($country_info, $total_weight);
$dsf_shippings = $objDSFShipping->calculate($country_info['countries_iso_code_2'], $total_weight);
$quotes = array_merge($dsf_shippings, $quotes);
//end 4px shipping
问题解决,原来是递四方模块把输出覆盖了,应该加个判断。递四方没有中欧等个别快递,请看效果:
可以把表格美化一下,或者像lightinthebox那样用户可以顺便选择一个国家(主要改shipping_estimator.php)。
6,修改checkout页面。由于点击shipping method没反应,点update按钮也没反应,要把模板目录下jscript\jquery\jquery_checkout.php的内容加到includes\modules\pages\checkout\jscript_addr_pulldowns.php后面。如果大家有时间,也可以做成ajax的,这样稍微复杂,要改js和优惠码等输出name。
请看效果。
下一步要做美化,由于这几天业务比较多,美化要过几天了。今天先说到这。有问题的请加我QQ:71780795联系。
安装注意事项:
1、安装时,这个插件有一些代码会覆盖现有网站原有,如果这些代码你有修改,建议用代码比较软件(WinMerge)区分代码的不同地方,手工进行代码的融合。
2、安装后,在支付页时,有的网站可能会出现空白,其中一种处理方法是,/usr/local/lib/php.ini 把output_buffering改成on
3、这个插件想在支付页的当前页有直接修改地址的功能,需安装Zencart Css Javascript Loader Released,注意这个插件安装后,最好在后台把Enable Minify关掉,否则会影响一些js脚本的运行,以及不能跳转到支付页面.