IF the Categories that actually hold the Products use those Categories as their master_categories_id then you could customize the
/includes/modules/shipping/usps.php
with something like:
where you can use the code:Code:$cost = preg_replace('/[^0-9.]/', '', $cost); // bof: do not show MEDIA MAIL for master_categories_id 10, 12 and 22 $chk_nonmedia_cat = 0; $chk_nonmedia_cat += $_SESSION['cart']->in_cart_check('master_categories_id', '10'); $chk_nonmedia_cat += $_SESSION['cart']->in_cart_check('master_categories_id', '12'); $chk_nonmedia_cat += $_SESSION['cart']->in_cart_check('master_categories_id', '22'); if ($type == 'MEDIA' && $chk_nonmedia_cat > 0) { $skip_it = true; } else { $skip_it = false; } if (!$skip_it) { $methods[] = array('id' => $type, 'title' => $title, 'cost' => ($cost * $shipping_num_boxes) + (MODULE_SHIPPING_USPS_HANDLING_METHOD == 'Box' ? MODULE_SHIPPING_USPS_HANDLING * $shipping_num_boxes : MODULE_SHIPPING_USPS_HANDLING) ); } // eof: do not show MEDIA MAIL for master_categories_id 10, 12 and 22 } $this->quotes['methods'] = $methods;
for each of the Categories with the NON-Media Mail Products ...Code:$chk_nonmedia_cat += $_SESSION['cart']->in_cart_check('master_categories_id', '10');


Reply With Quote
