Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Local Pickup or Free Delivery 2.3.1


motavenda

Recommended Posts

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

Link to comment
Share on other sites

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....

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

  • 1 year later...

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".

 

~

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...