motavenda Posted March 29, 2012 Share Posted March 29, 2012 I am trying to find a local pickup/free delivery shipping addon for 2.3.1... I am already using the flat rate shipping option as my main shipping rate so altering that isn't an option. I have tried other addons but none show up in the admin panel's shipping modules options. Am I missing something here? I don't know if there is something I need to do to get the addons to show up there in the admin control panel shipping module install options in 2.3.1. Thanks! Moti Quote Link to comment Share on other sites More sharing options...
motavenda Posted March 30, 2012 Author Share Posted March 30, 2012 oops...never mind... Quote Link to comment Share on other sites More sharing options...
ndamico Posted March 30, 2012 Share Posted March 30, 2012 i am looking for a free-shipping addon as well. what did you find that works with 2.3.1? Quote Link to comment Share on other sites More sharing options...
motavenda Posted March 30, 2012 Author Share Posted March 30, 2012 I ended up doing this...and it seems to work for me. I made two new files with this code (just taken from the original "flat" shipping files and changed to "local" wherever needed) but you can just copy what's below into the two folders and upload them and shouldn't have to make any other changes. file 1: includes/languages/english/modules/shipping/local.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ define('MODULE_SHIPPING_LOCAL_TEXT_TITLE', 'Local Pickup'); define('MODULE_SHIPPING_LOCAL_TEXT_DESCRIPTION', 'Local Pickup'); define('MODULE_SHIPPING_LOCAL_TEXT_WAY', 'Local Pickup'); ?> file 2: includes/modules/shipping/local.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ class local { var $code, $title, $description, $icon, $enabled; // class constructor function local() { global $order; $this->code = 'local'; $this->title = MODULE_SHIPPING_LOCAL_TEXT_TITLE; $this->description = MODULE_SHIPPING_LOCAL_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_LOCAL_SORT_ORDER; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_LOCAL_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_LOCAL_STATUS == 'True') ? true : false); if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_LOCAL_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_LOCAL_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; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_LOCAL_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_LOCAL_TEXT_WAY, 'cost' => MODULE_SHIPPING_LOCAL_COST))); 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_LOCAL_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 LOCAL Shipping', 'MODULE_SHIPPING_LOCAL_STATUS', 'True', 'Do you want to offer LOCAL 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 ('Shipping Cost', 'MODULE_SHIPPING_LOCAL_COST', '5.00', 'The shipping cost for all orders using this shipping method.', '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_LOCAL_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_LOCAL_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_LOCAL_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_LOCAL_STATUS', 'MODULE_SHIPPING_LOCAL_COST', 'MODULE_SHIPPING_LOCAL_TAX_CLASS', 'MODULE_SHIPPING_LOCAL_ZONE', 'MODULE_SHIPPING_LOCAL_SORT_ORDER'); } } ?> once the two folders are uploaded, you should be able to access the new "Local Pickup" Module under through your admin panel under modules>shipping>install modules and then edit it to make your price o.oo. hope it works for you.... altosplatanos 1 Quote Link to comment Share on other sites More sharing options...
altosplatanos Posted April 7, 2012 Share Posted April 7, 2012 Well Done, took some finding where/which directory to install....I'm a tad rusty with the Programming.... Old school, 16bit microprocessor, machine code....done a couple of years at pascal...all this web nonesense is driving my potty....in a good way though....!!! How we have moved on.... Share the love... Quote Link to comment Share on other sites More sharing options...
Snowdrift Posted November 7, 2013 Share Posted November 7, 2013 This still works for 2.3 with an extra step. Using the left menu, go to Modules->Shipping. Then look at the top right for the "+Install Module" link. Select Local pickup and click "Install Module", and "Save". ~ ❄ Quote ❄ Link to comment Share on other sites More sharing options...
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.