Magento 默认启用的是固定运费(Flat Rate),但是有时候我们需要按照重量来计算快递费,所以,我们可以用表运费(Table Rate)来实现这个功能。
作为我们国内Magento网站来说,如果我们需要使用顺丰速运的运费模块,我们需要先导入地区编码,才能使用表运费功能。
导入表运费的地区编码涉及到的数据库表有:
directory_country(国家代码列表)
directory_country_region(地区代码列表)
directory_country 我们不需要修改,里面已经定义了中国的标识符号:
我们只需要在directory_country_region表里导入中国省份和地区的标识符即可,添加数据库表数据的方法很多,可以直接在phpmyadmin等数据库工具直接添加,我这里介绍通过mysql导入的方法:
INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SH', '上海');
如果需要根据locale定义不同语言下面显示的地区名称,可以参考下directory_country_region_name这个表
全国34省份和地区编码参考:
INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'BJ', '北京'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SH', '上海'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'TJ', '天津'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HE', '河北'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SX', '山西'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'NM', '内蒙古'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'LN', '辽宁'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'JL', '吉林'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HL', '黑龙江'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'JS', '江苏'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'ZJ', '浙江'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'AH', '安徽'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'FJ', '福建'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'JX', '江西'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SD', '山东'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HA', '河南'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HB', '湖北'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HN', '湖南'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'GX', '广西'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'GD', '广东'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HI', '海南'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'CQ', '重庆'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SC', '四川'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'GZ', '贵州'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'YN', '云南'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'XZ', '西藏'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'SN', '陕西'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'GS', '甘肃'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'QH', '青海'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'NX', '宁夏'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'XJ', '新疆'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'HK', '香港'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'AM', '澳门'); INSERT INTO `magentodemo`.`directory_country_region` (`region_id`, `country_id`, `code`, `default_name`) VALUES (NULL, 'CN', 'TW', '台湾');
只需把SQL代码里的magentodemo替换成自己的数据库名,如果有前缀名,可以在directory_country_region加上表前缀。
在数据库里加入省份和地区的标识符之后,我们就可以导入表运费的CSV文件,
当然,导入表运费的选项,是在后台设置里,选择相应网站列表之后才会显示的,如图:
导入的CSV格式如下:
参考资料:
http://www.magentocommerce.com/knowledge-base/entry/how-do-i-set-up-table-rate-shipping/
http://www.magentocommerce.com/wiki/welcome_to_the_magento_user_s_guide/chapter_4
原创文章,转载请注明:转载自Web开发笔记 | Magento表运费设置方法
本文链接地址:https://www.magentonotes.com/magento-table-rate-config-china.html
Comments on this entry are closed.