Results 1 to 4 of 4
  1. #1
    Join Date
    Feb 2007
    Posts
    513
    Plugin Contributions
    2

    Default 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 Code:


    <?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');    }  }?>
    Last edited by vandiermen; 8 Jul 2013 at 07:06 PM.

  2. #2
    Join Date
    Feb 2007
    Posts
    513
    Plugin Contributions
    2

    Default Re: when freeshipper is active still show other shipping options

    if you look at other shipping modules it says

    PHP Code:
               // 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.

  3. #3
    Join Date
    Feb 2007
    Posts
    513
    Plugin Contributions
    2

    Default 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

  4. #4
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default 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!

 

 

Similar Threads

  1. How to show Free Shipping AND other shipping options?
    By LRS in forum Built-in Shipping and Payment Modules
    Replies: 12
    Last Post: 20 Jul 2010, 08:25 PM
  2. How to hide all other shipping options when an order is eligible for free shipping?
    By shirster in forum Built-in Shipping and Payment Modules
    Replies: 16
    Last Post: 3 Feb 2010, 05:41 AM
  3. freeshipper : other zones -> other modules?
    By aeibc in forum Built-in Shipping and Payment Modules
    Replies: 5
    Last Post: 4 Apr 2008, 09:09 AM
  4. I need other options when Adding Products
    By magneteye in forum General Questions
    Replies: 3
    Last Post: 30 Jul 2007, 06:48 PM
  5. Either show free shipping icon w/ freeoptions OR show other modules w/ freeshipper
    By tvadpro in forum Built-in Shipping and Payment Modules
    Replies: 11
    Last Post: 3 Dec 2006, 02:53 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg