You need to customize the Fastways ... but I am not familar with it ...
In most shipping modules, for example, Flat Rate flat in the file:
/includes/modules/flat.php
there is some code like:
Code:
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
}
The $this->enabled is first checked for should it show based on Free Shipping conditions and if it is turned on in the first place ...
Let's say you want the Categories that hold the explosives, where they are in categories_id 10, 13 and 15 ... so the master_categories_id are 10, 13 and 15 ... and don't want the Flat Rate flat shipping module to show ...
That code can be changed with:
Code:
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
}
// bof: disable for categories_id 10, 13 and 15
if (!IS_ADMIN_FLAG) {
global $cart;
$chk_explosives_10 = $_SESSION['cart']->in_cart_check('master_categories_id','10');
$chk_explosives_13 = $_SESSION['cart']->in_cart_check('master_categories_id','13');
$chk_explosives_15 = $_SESSION['cart']->in_cart_check('master_categories_id','15');
$chk_explosives = $chk_explosives_10 + $chk_explosives_13 + $chk_explosives_15;
if ($chk_explosives > 0) {
$this->enabled = false;
}
}
// eof: disable for categories_id 10, 13 and 15
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_ZONE > 0) ) {
Now if 1 or more Products are in the Explosive Categories 10, 13 or 15 then this module will not show ...
Bookmarks