Results 1 to 4 of 4
  1. #1
    Join Date
    Mar 2011
    Posts
    42
    Plugin Contributions
    0

    Default Table Clone Does Not Add Up

    I have set up the table rate ok as follows:


    USA Ground

    Table Rate

    Enable Table Method
    True

    Shipping Table
    1:3.99,2:4.49,3:4.99,4:5.49,5:5.99,6:6.49,7:6.99,8:7.49,9:7.99,10:8.49

    Table Method
    item

    Handling Fee
    0

    Handling Per Order or Per Box
    Order

    Tax Class
    --none--

    Tax Basis
    Shipping

    Shipping Zone
    USA

    Sort Order
    1


    Now I want to add another option so I have cloned it. But this option does not add the figures, just stays on the lowest value.

    Values for Option 2 are:

    1:7.99,2:8.99,3:9.99,4:10.99,5:11.99

    No matter how many items are added to the cart, the shipping total for Option 2 stays on $7.99.

    I am currently using the clone file provided by Ajeh:



    ====================================


    <?php
    /**
    * @package shippingMethod
    * @copyright Copyright 2003-2005 Zen Cart Development Team
    * @copyright Portions Copyright 2003 osCommerce
    * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
    * @version $Id: table3.php 6347 2007-05-20 19:46:59Z ajeh $
    */
    /**
    * Enter description here...
    *
    */
    class table3 extends base {
    /**
    * Enter description here...
    *
    * @var unknown_type
    */
    var $code;
    /**
    * Enter description here...
    *
    * @var unknown_type
    */
    var $title;
    /**
    * Enter description here...
    *
    * @var unknown_type
    */
    var $description;
    /**
    * Enter description here...
    *
    * @var unknown_type
    */
    var $icon;
    /**
    * Enter description here...
    *
    * @var unknown_type
    */
    var $enabled;
    /**
    * Enter description here...
    *
    * @return _2
    */
    function table3() {
    global $order, $db;

    $this->code = 'table3';
    $this->title = MODULE_SHIPPING_TABLE3_TEXT_TITLE;
    $this->description = MODULE_SHIPPING_TABLE3_TEXT_DESCRIPTION;
    $this->sort_order = MODULE_SHIPPING_TABLE3_SORT_ORDER;
    $this->icon = '';
    $this->tax_class = MODULE_SHIPPING_TABLE3_TAX_CLASS;
    $this->tax_basis = MODULE_SHIPPING_TABLE3_TAX_BASIS;
    // disable only when entire cart is free shipping
    if (zen_get_shipping_enabled($this->code)) {
    $this->enabled = ((MODULE_SHIPPING_TABLE3_STATUS == 'True') ? true : false);
    }

    if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE3_ZONE > 0) ) {
    $check_flag = false;
    $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_TABLE3_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;
    }
    }
    }
    /**
    * Enter description here...
    *
    * @param unknown_type $method
    * @return unknown
    */
    function quote($method = '') {
    global $order, $shipping_weight, $shipping_num_boxes, $total_count;

    // shipping adjustment
    switch (MODULE_SHIPPING2_TABLE_MODE) {
    case ('price'):
    $order_total = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;
    break;
    case ('weight'):
    $order_total = $shipping_weight;
    break;
    case ('item'):
    $order_total = $total_count - $_SESSION['cart']->free_shipping_items();
    break;
    }

    $order_total_amount = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;

    $table3_cost = split("[:,]" , MODULE_SHIPPING_TABLE3_COST);
    $size = sizeof($table3_cost);
    for ($i=0, $n=$size; $i<$n; $i+=2) {
    if (round($order_total,9) <= $table3_cost[$i]) {
    if (strstr($table3_cost[$i+1], '%')) {
    $shipping = ($table3_cost[$i+1]/100) * $order_total_amount;
    } else {
    $shipping = $table3_cost[$i+1];
    }
    break;
    }
    }

    if (MODULE_SHIPPING_TABLE3_MODE == 'weight') {
    $shipping = $shipping * $shipping_num_boxes;
    // show boxes if weight
    switch (SHIPPING_BOX_WEIGHT_DISPLAY) {
    case (0):
    $show_box_weight = '';
    break;
    case (1):
    $show_box_weight = ' (' . $shipping_num_boxes . ' ' . TEXT_SHIPPING_BOXES . ')';
    break;
    case (2):
    $show_box_weight = ' (' . number_format($shipping_weight * $shipping_num_boxes,2) . TEXT_SHIPPING_WEIGHT . ')';
    break;
    default:
    $show_box_weight = ' (' . $shipping_num_boxes . ' x ' . number_format($shipping_weight,2) . TEXT_SHIPPING_WEIGHT . ')';
    break;
    }
    }

    $this->quotes = array('id' => $this->code,
    'module' => MODULE_SHIPPING_TABLE3_TEXT_TITLE . $show_box_weight,
    'methods' => array(array('id' => $this->code,
    'title' => MODULE_SHIPPING_TABLE3_TEXT_WAY,
    'cost' => $shipping + MODULE_SHIPPING_TABLE3_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;
    }
    /**
    * Enter description here...
    *
    * @return unknown
    */
    function check() {
    global $db;
    if (!isset($this->_check)) {
    $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_TABLE3_STATUS'");
    $this->_check = $check_query->RecordCount();
    }
    return $this->_check;
    }
    /**
    * Enter description here...
    *
    */
    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 Table Method', 'MODULE_SHIPPING_TABLE3_STATUS', 'True', 'Do you want to offer table rate 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, set_function, date_added) values ('Shipping Table', 'MODULE_SHIPPING_TABLE3_COST', '25:8.50,50:5.50,10000:0.00', 'The shipping cost is based on the total cost or weight of items or count of the items. Example: 25:8.50,50:5.50,etc.. Up to 25 charge 8.50, from there to 50 charge 5.50, etc<br />You can end the last amount as 10000:7% to charge 7% of the Order Total', '6', '0', 'zen_cfg_textarea(', now())");
    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Table Method', 'MODULE_SHIPPING_TABLE3_MODE', 'weight', 'The shipping cost is based on the order total or the total weight of the items ordered or the total number of items orderd.', '6', '0', 'zen_cfg_select_option(array(\'weight\', \'price\', \'item\'), ', 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_TABLE3_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_TABLE3_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, set_function, date_added) values ('Tax Basis', 'MODULE_SHIPPING_TABLE3_TAX_BASIS', 'Shipping', 'On what basis is Shipping Tax calculated. Options are<br />Shipping - Based on customers Shipping Address<br />Billing Based on customers Billing address<br />Store - Based on Store address if Billing/Shipping Zone equals Store zone', '6', '0', 'zen_cfg_select_option(array(\'Shipping\', \'Billing\', \'Store\'), ', 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_TABLE3_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_TABLE3_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");
    }
    /**
    * Enter description here...
    *
    */
    function remove() {
    global $db;
    $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
    }
    /**
    * Enter description here...
    *
    * @return unknown
    */
    function keys() {
    return array('MODULE_SHIPPING_TABLE3_STATUS', 'MODULE_SHIPPING_TABLE3_COST', 'MODULE_SHIPPING_TABLE3_MODE', 'MODULE_SHIPPING_TABLE3_HANDLING', 'MODULE_SHIPPING_TABLE3_TAX_CLASS', 'MODULE_SHIPPING_TABLE3_TAX_BASIS', 'MODULE_SHIPPING_TABLE3_ZONE', 'MODULE_SHIPPING_TABLE3_SORT_ORDER');
    }
    }
    ?>

    ====================================


    Other details:

    Enter the Maximum Package Weight you will ship 50
    Package Tare Small to Medium - added percentage:weight 0:0
    Larger packages - added packaging percentage:weight 0:0
    Display Number of Boxes and Weight Status 0
    Order Free Shipping 0 Weight Status 0
    Shipping Estimator Display Settings for Shopping Cart 0
    Display Order Comments on Admin Invoice 1
    Display Order Comments on Admin Packing Slip 1


    Anyone able to offer assistance?

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

    Default Re: Table Clone Does Not Add Up

    Check and see if this code around line 100:
    Code:
    // shipping adjustment
    switch (MODULE_SHIPPING2_TABLE_MODE) {
    is suppose to be:
    Code:
    // shipping adjustment
    switch (MODULE_SHIPPING_TABLE3_MODE) {
    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!

  3. #3
    Join Date
    Mar 2011
    Posts
    42
    Plugin Contributions
    0

    Default Re: Table Clone Does Not Add Up

    Thats it!

    Thanks for your help Ajeh

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

    Default Re: Table Clone Does Not Add Up

    You are most welcome ... thanks for the update that you just had a typo in the code ...
    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. v150 Trying to clone a Table Rate
    By dellvi in forum Built-in Shipping and Payment Modules
    Replies: 3
    Last Post: 3 Jul 2012, 01:50 PM
  2. Shipping - Table Rate Clone
    By Nick1973 in forum General Questions
    Replies: 5
    Last Post: 2 Feb 2011, 04:23 PM
  3. Table Rate Clone
    By maiko in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 28 Aug 2008, 03:35 PM
  4. Unable to clone Table Module
    By gtowle in forum Built-in Shipping and Payment Modules
    Replies: 10
    Last Post: 5 Jul 2008, 07:23 PM
  5. Table Shipping Clone not working
    By bmurry in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 11 Jun 2006, 05:57 PM

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