motavenda Posted March 29, 2012 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
ndamico Posted March 30, 2012 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
motavenda Posted March 30, 2012 Author 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
altosplatanos Posted April 7, 2012 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
Snowdrift Posted November 7, 2013 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 ❄
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.