Forums / General Questions / when freeshipper is active still show other shipping options

when freeshipper is active still show other shipping options

Views: 777

Results 1 to 4 of 4
8 Jul 2013, 6:04 PM
#1
vandiermen avatar

vandiermen

Totally Zenned

Join Date:
Feb 2007
Posts:
518
Plugin Contributions:
1

when freeshipper is active still show other shipping options

if item has 'freeshipper (free shipping!) it disables all other shipping options.
client has set freeshipper>'Shipping Zone' to "Australia only"; freeshipper is still disabling modules for international shipping.

either looking for the code to put in freeshipper.php like "if country id=13 enable this true {else} false " (where 13 is australia)

or in the freeshipper.php code below remove the bit that disables all other shipping modules

<?php/** * @package shippingMethod * @copyright Copyright 2003-2009 Zen Cart Development Team * @copyright Portions Copyright 2003 osCommerce * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 */// $Id: freeshipper.php 14498 2009-10-01 20:16:16Z ajeh $//  class freeshipper {    var $code, $title, $description, $icon, $enabled;
// class constructor    function freeshipper() {      global $order, $db;
      $this->code = 'freeshipper';      $this->title = MODULE_SHIPPING_FREESHIPPER_TEXT_TITLE;      $this->description = MODULE_SHIPPING_FREESHIPPER_TEXT_DESCRIPTION;      $this->sort_order = MODULE_SHIPPING_FREESHIPPER_SORT_ORDER;      $this->icon = '';      $this->tax_class = MODULE_SHIPPING_FREESHIPPER_TAX_CLASS;
      // enable only when entire cart is free shipping//      if ($_SESSION['cart']->in_cart_check('product_is_always_free_shipping','1') == $_SESSION['cart']->count_contents()) {      if (zen_get_shipping_enabled($this->code)) {        $this->enabled = ((MODULE_SHIPPING_FREESHIPPER_STATUS == 'True') ? true : false);      }
      if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FREESHIPPER_ZONE > 0) ) {        $check_flag = false;        $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FREESHIPPER_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");        while (!$check->EOF) {          if ($check->fields['zone_id'] < 1) {            $check_flag = true;            break;          } elseif ($check->fields['zone_id'] == $order->delivery['zone_id']) {            $check_flag = true;            break;          }          $check->MoveNext();        }
        if ($check_flag == false) {          $this->enabled = false;        }      }    }
// class methods    function quote($method = '') {      global $order;
      $this->quotes = array('id' => $this->code,                            'module' => MODULE_SHIPPING_FREESHIPPER_TEXT_TITLE,                            'methods' => array(array('id' => $this->code,                                                     'title' => MODULE_SHIPPING_FREESHIPPER_TEXT_WAY,                                                     'cost' => MODULE_SHIPPING_FREESHIPPER_COST + MODULE_SHIPPING_FREESHIPPER_HANDLING)));
      if ($this->tax_class > 0) {        $this->quotes['tax'] = zen_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);      }
      if (zen_not_null($this->icon)) $this->quotes['icon'] = zen_image($this->icon, $this->title);
      return $this->quotes;    }
    function check() {      global $db;      if (!isset($this->_check)) {        $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_FREESHIPPER_STATUS'");        $this->_check = $check_query->RecordCount();      }      return $this->_check;    }
    function install() {      global $db;      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Free Shipping', 'MODULE_SHIPPING_FREESHIPPER_STATUS', 'True', 'Do you want to offer Free shipping?', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Free Shipping Cost', 'MODULE_SHIPPING_FREESHIPPER_COST', '0.00', 'What is the Shipping cost?', '6', '6', now())");      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Handling Fee', 'MODULE_SHIPPING_FREESHIPPER_HANDLING', '0', 'Handling fee for this shipping method.', '6', '0', now())");      $db->Execute("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_FREESHIPPER_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");      $db->Execute("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_FREESHIPPER_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_FREESHIPPER_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");    }
    function remove() {      global $db;      $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key like 'MODULE\_SHIPPING\_FREESHIPPER\_%'");    }
    function keys() {      return array('MODULE_SHIPPING_FREESHIPPER_STATUS', 'MODULE_SHIPPING_FREESHIPPER_COST', 'MODULE_SHIPPING_FREESHIPPER_HANDLING', 'MODULE_SHIPPING_FREESHIPPER_TAX_CLASS', 'MODULE_SHIPPING_FREESHIPPER_ZONE', 'MODULE_SHIPPING_FREESHIPPER_SORT_ORDER');    }  }?>
13 Aug 2013, 1:54 AM
#2
vandiermen avatar

vandiermen

Totally Zenned

Join Date:
Feb 2007
Posts:
518
Plugin Contributions:
1

Re: when freeshipper is active still show other shipping options

if you look at other shipping modules it says

           // disable only when entire cart is free shipping      if (zen_get_shipping_enabled($this->code)) {        $this->enabled = ((MODULE_SHIPPING_ZONES_STATUS == 'True') ? true : false);      }

i suppose removing that answers my question?, except for what I need to edit (ozpost) does not contain this.

15 Aug 2013, 3:23 AM
#3
vandiermen avatar

vandiermen

Totally Zenned

Join Date:
Feb 2007
Posts:
518
Plugin Contributions:
1

Re: when freeshipper is active still show other shipping options

above answer is incorrect, clearly is code for something else.
"store pickup" bypasses free shipping rule

15 Aug 2013, 3:43 AM
#4
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: when freeshipper is active still show other shipping options

You need to find a better text editor than what ever you are using there as it is putting the code on one line and wrapping it in mess ...

The code is correct in the FREE SHIPPING! freeshipper but the FREE SHIPPING! freeshipper is not truely designed for Zones as Always Free Shipping is designed when Shipping on a Product is FREE to EVERYONE ...

If you have FREE SHIPPING! freeshipper set to Australia only ... what are other Countries suppose to use for shipping?

NOTE: I am assuming that your Zone Definition for Australia only has the DETAILS setup correctly ...

Linda McGrath
If you have to think ... you haven't been zenned ...

**Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!**

Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today!]
Officially PayPal-Certified! Just click here

Try our Zen Cart Recommended Services - Hosting, Payment and more ...
Signup for our Announcements Forums to stay up to date on important changes and updates!