wkdwich Posted January 11, 2010 Posted January 11, 2010 I'm currently using the multiple shipping levels by value (tiered.php) contribution found here: http://addons.oscommerce.com/info/2441 and very pleased with it except I would like to add an upper limit to the last level. up to $20 == $3.00 up to $35 == $3.50 over $35 == $4.00 I'd like to put a limit on the 3rd tier so it will work as: $35.01 - $49.99 == $4.00 therefore over $49.99 will not show this rate.. Can anyone help out on this?? thanks Quote Debbie DFranklin County, VA "Moonshine Capitol of the World"osCmax Mobile Template oscmaxtemplates.com
wkdwich Posted January 11, 2010 Author Posted January 11, 2010 This might work: if ($cart->show_total() >= 50) $this->enabled = false; Add it underneath this: if ($check_flag == false) { $this->enabled = false; } Make sure to add $cart to the global scope of the tiered function! Thanks Burt, but I am not 100% sure where to add this.. this is what the tiered.php looks like now: <?php /* $Id: tiered v 1.0 09/12/2004 Developed by Dave Ferrise ([email protected]) Based on: tiered.phps,v 2.2 2003/05/03 modified:WebyMaster-TWM dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2001,2002, 2003, 2004 osCommerce Released under the GNU General Public License */ class tiered { var $code, $title, $description, $icon, $enabled; // class constructor function tiered() { global $order; $this->code = 'tiered'; $this->title = MODULE_SHIPPING_TIERED_TEXT_TITLE; $this->description = MODULE_SHIPPING_TIERED_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_TIERED_SORT_ORDER; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_TIERED_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_TIERED_STATUS == 'True') ? true : false); if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TIERED_ZONE > 0) ) { $check_flag = false; $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_TIERED_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = tep_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } // class methods function quote($method = '') { global $order, $cart; if (MODULE_SHIPPING_TIERED_STATUS == 'True') { $order_total = $cart->show_total(); } if ($order_total < MODULE_SHIPPING_TIERED_LEVEL_2) { $shipping_tiered = MODULE_SHIPPING_TIERED_RATE_1; } else { if ($order_total < MODULE_SHIPPING_TIERED_LEVEL_3) { $shipping_tiered = MODULE_SHIPPING_TIERED_RATE_2; } else { $shipping_tiered = MODULE_SHIPPING_TIERED_RATE_3; } } $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_TIERED_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_TIERED_TEXT_WAY, 'cost' => $shipping_tiered))); if ($this->tax_class > 0) { $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_TIERED_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Tiered Shipping', 'MODULE_SHIPPING_TIERED_STATUS', 'True', 'Do you want to offer tiered rate shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tier 1 Shipping Rate', 'MODULE_SHIPPING_TIERED_RATE_1', '15.00', 'The shipping cost for all orders totalling less than tier 2 Order Level.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tier 2 Order Total Level', 'MODULE_SHIPPING_TIERED_LEVEL_2', '50.00', 'Order total qualifying for second tier shipping rate.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tier 2 Shipping Rate', 'MODULE_SHIPPING_TIERED_RATE_2', '7.50', 'The shipping cost for all orders totalling more than tier 2 value and less than tier 3 value.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tier 3 Order Total Level', 'MODULE_SHIPPING_TIERED_LEVEL_3', '100.00', 'Order total qualifying for third tier shipping rate.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tier 3 Shipping Rate', 'MODULE_SHIPPING_TIERED_RATE_3', '0.00', 'The shipping cost for all orders totalling more than tier 3 value.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_TIERED_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_TIERED_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_TIERED_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_TIERED_STATUS', 'MODULE_SHIPPING_TIERED_RATE_1', 'MODULE_SHIPPING_TIERED_LEVEL_2', 'MODULE_SHIPPING_TIERED_RATE_2', 'MODULE_SHIPPING_TIERED_LEVEL_3', 'MODULE_SHIPPING_TIERED_RATE_3', 'MODULE_SHIPPING_TIERED_TAX_CLASS', 'MODULE_SHIPPING_TIERED_ZONE', 'MODULE_SHIPPING_TIERED_SORT_ORDER'); } } ?> Could you be just a little more specific on where to add the lines?? I would so appreciate that.. my products under $50 can go first class, but over I want to force Priotity for the tracking.. the problem is they pick the least expensive method and dont read the instructions! Thanks.. Debbie Quote Debbie DFranklin County, VA "Moonshine Capitol of the World"osCmax Mobile Template oscmaxtemplates.com
wkdwich Posted January 22, 2010 Author Posted January 22, 2010 This might work: if ($cart->show_total() >= 50) $this->enabled = false; Add it underneath this: if ($check_flag == false) { $this->enabled = false; } Make sure to add $cart to the global scope of the tiered function! I added the line and while it didnt break anything, it didn't do anything either.. I am confused as to what you mean by add $cart to the global scope of the tiered function.. that must be the key for it to actually work :) Quote Debbie DFranklin County, VA "Moonshine Capitol of the World"osCmax Mobile Template oscmaxtemplates.com
wkdwich Posted February 4, 2010 Author Posted February 4, 2010 I added the line and while it didnt break anything, it didn't do anything either.. I am confused as to what you mean by add $cart to the global scope of the tiered function.. that must be the key for it to actually work :) Anyone with some help here please on setting an upper limit ??? thanks Quote Debbie DFranklin County, VA "Moonshine Capitol of the World"osCmax Mobile Template oscmaxtemplates.com
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.