专注于zen cart的二次开发 >> Zen Cart >> Zen Cart 如何限制运费模块适用的重量/金额范围,香港小包

我们知道Zen cart可以同时用多种运费模块,例如一种常见的

两公斤以下,香港小包

运费是 100 x (n)公斤 +13 但不能超过两公斤,超过两公斤不适用!

 

这个规则似乎挺适合 per unit 这个 模块的

我们后台打开并安装这个模块(稍后需要重新安装,现在谈思路,别打岔),计费率填 100(好吧,自己算美元,用g做单位的话,填 0.1,以下我都默认用人民币,kg)

手续费13元

测试,成功!

慢….好像3公斤他也计算运费…好吧,我改

打开 includes/modules/shipping/perweightunit.php

找到

// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_PERWEIGHTUNIT_STATUS == ‘True’) ? true : false);
}

后面加

// bof: turn off for weight over 2
if (!IS_ADMIN_FLAG) {
global $cart;
if ($_SESSION['cart']->show_weight() > 2) {
$this->enabled = false;
}
}
// eof: turn off for weight over 2

验证下,成功!

那么,作为完美主义者,当然希望后台能够自行设置最大重量

MODULE_SHIPPING_PERWEIGHTUNIT_MAX_WEIGHT 替换 2

接下来改下安装,增加

$db->Execute(“insert into ” . TABLE_CONFIGURATION . ” (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values (‘最大重量’, ‘MODULE_SHIPPING_PERWEIGHTUNIT_MAX_WEIGHT’, ’2000′, ‘该配送方式的最大重量。’, ’6′, ’0′, now())”);

增加卸载的key

‘MODULE_SHIPPING_PERWEIGHTUNIT_MAX_WEIGHT’,

覆盖文件后保存,后台卸载模块并重新安装,设最大重量为2,成功!

你可以发表评论引用到你的网站或博客,或通过RSS 2.0订阅这个日志的所有评论。
上一篇:
下一篇:
没有评论
我来说两句

  Ctrl+Enter