Page 1 of 3 123 LastLast
Results 1 to 10 of 23
  1. #1
    Join Date
    Nov 2006
    Posts
    9
    Plugin Contributions
    0

    Default Help cloning table module

    I am trying to clone the table shipping module and have read several post here and other places and still cannot get it to work. I can get everything to show up ok in the admin area, install it ok, but when i go to check out it doesn't recognize the zone i have restricted it to. I just get the error 'we are not currently shipping to your region...'. For my purpose i need to clone this module(i already tried multizone table mod, just didn't work out). I will post my code for the clone below.

    Language File:

    PHP Code:
    <?php
    //
    // +----------------------------------------------------------------------+
    // |zen-cart Open Source E-commerce                                       |
    // +----------------------------------------------------------------------+
    // | Copyright (c) 2003 The zen-cart developers                           |
    // |                                                                      |   
    // | http://www.zen-cart.com/index.php                                    |   
    // |                                                                      |   
    // | Portions Copyright (c) 2003 osCommerce                               |
    // +----------------------------------------------------------------------+
    // | This source file is subject to version 2.0 of the GPL license,       |
    // | that is bundled with this package in the file LICENSE, and is        |
    // | available through the world-wide-web at the following url:           |
    // | http://www.zen-cart.com/license/2_0.txt.                             |
    // | If you did not receive a copy of the zen-cart license and are unable |
    // | to obtain it through the world-wide-web, please send a note to       |
    // | [email protected] so we can mail you a copy immediately.          |
    // +----------------------------------------------------------------------+
    // $Id: table.php 1969 2005-09-13 06:57:21Z drbyte $
    //
    define('MODULE_SHIPPING_ALTABLE_TEXT_TITLE''AL Table Rate');
    define('MODULE_SHIPPING_ALTABLE_TEXT_DESCRIPTION''AL Table Rate');
    define('MODULE_SHIPPING_ALTABLE_TEXT_WAY''FedEx Ground');
    define('MODULE_SHIPPING_ALTABLE_TEXT_WEIGHT''Weight');
    define('MODULE_SHIPPING_ALTABLE_TEXT_AMOUNT''Amount');
    ?>
    Module File:

    PHP Code:
    <?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: table.php 4184 2006-08-21 03:36:36Z ajeh $
     */
    /**
     * Enter description here...
     *
     */
    class altable 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 table
       */
      
    function altable() {
        global 
    $order$db;
        
    $this->code 'altable';
        
    $this->title MODULE_SHIPPING_ALTABLE_TEXT_TITLE;
        
    $this->description MODULE_SHIPPING_ALTABLE_TEXT_DESCRIPTION;
        
    $this->sort_order MODULE_SHIPPING_ALTABLE_SORT_ORDER;
        
    $this->icon '';
        
    $this->tax_class MODULE_SHIPPING_ALTABLE_TAX_CLASS;
        
    $this->tax_basis MODULE_SHIPPING_ALTABLE_TAX_BASIS;
        
    // disable only when entire cart is free shipping
        
    if (zen_get_shipping_enabled($this->code)) {
          
    $this->enabled = ((MODULE_SHIPPING_ALTABLE_STATUS == 'True') ? true false);
        }
        if ( (
    $this->enabled == true) && ((int)MODULE_SHIPPING_ALTABLE_ZONE 0) ) {
          
    $check_flag false;
          
    $check $db->Execute("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_ALSHIPPING_TABLE_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_SHIPPING_ALTABLE_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;
        }
        
    $table_cost split("[:,]" MODULE_SHIPPING_ALTABLE_COST);
        
    $size sizeof($table_cost);
        for (
    $i=0$n=$size$i<$n$i+=2) {
          if (
    round($order_total,9) <= $table_cost[$i]) {
            
    $shipping $table_cost[$i+1];
            break;
          }
        }
        if (
    MODULE_SHIPPING_ALTABLE_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_ALTABLE_TEXT_TITLE $show_box_weight,
        
    'methods' => array(array('id' => $this->code,
        
    'title' => MODULE_SHIPPING_ALTABLE_TEXT_WAY,
        
    'cost' => $shipping MODULE_SHIPPING_ALTABLE_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_ALTABLE_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_ALTABLE_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_ALTABLE_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', '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_ALTABLE_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_ALTABLE_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_ALTABLE_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_ALTABLE_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_ALTABLE_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_ALTABLE_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_ALTABLE_STATUS''MODULE_SHIPPING_ALTABLE_COST''MODULE_SHIPPING_ALTABLE_MODE''MODULE_SHIPPING_ALTABLE_HANDLING''MODULE_SHIPPING_ALTABLE_TAX_CLASS''MODULE_SHIPPING_ALTABLE_TAX_BASIS''MODULE_SHIPPING_ALTABLE_ZONE''MODULE_SHIPPING_ALTABLE_SORT_ORDER');
      }
    }
    ?>
    Thanks for any help.

  2. #2
    Join Date
    Nov 2006
    Posts
    9
    Plugin Contributions
    0

    Default Re: Help cloning table module

    I Forgot. My language file and module file is named altable.php

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

    Default Re: Help cloning table module

    I belive this is a typo and not "hearing" the zone in because of it:
    MODULE_ALSHIPPING_TABLE_ZONE

    Should be:
    MODULE_SHIPPING_ALTABLE_ZONE
    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: v1.5.5]
    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!

  4. #4
    Join Date
    Apr 2005
    Location
    ATX
    Posts
    111
    Plugin Contributions
    0

    Default Re: Help cloning table module

    Hi,

    I'm having some trouble with this as well.

    Using essentially the same code as above (I'm using Canadatable instead of ALTABLE, and I made the correction Ajeh suggested), my original table works fine, but the cloned table does not display. I'm doing a per-item shipping cost.

    Interestingly, when I switch my original table to do shipping for Canada instead of US, my Canadian test address gets the proper Canadian rates - ie, the rates from the OTHER table.

    The entries in the db all look proper... I'll spare you them unless you really want to see them. The above tells me it's probably a code problem, not db anyway.

    Thanks for any light you can shed on this.
    Last edited by billc108; 12 Dec 2006 at 04:19 AM.

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

    Default Re: Help cloning table module

    canadatable should be a clone of table where table is replaced with canadatable and TABLE is replaced by CANADATABLE these are case sensative ...

    And be careful on which TABLE and table gets replaced as some of them need to remain the word table on the appropriate case ...
    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: v1.5.5]
    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!

  6. #6
    Join Date
    Apr 2005
    Location
    ATX
    Posts
    111
    Plugin Contributions
    0

    Default Re: Help cloning table module

    Son of a gun. Looks like it *was* the case sensitivity. I woudn't have thought so, as I was internally consistant with my changes on those two files. Oh well.

    Thanks again.

    Y'all will be getting a *bunch* of cups of coffee from me as soon as the client sends their check. Hopefully by xmas.

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

    Default Re: Help cloning table module

    Christmas presents!!! We love Christmas presents!!

    Thanks for the update that you were able to fix your shipping module by fixing the case sensative replacements needed ...
    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: v1.5.5]
    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!

  8. #8
    Join Date
    Nov 2006
    Posts
    9
    Plugin Contributions
    0

    Default Re: Help cloning table module

    Just able to get back to the board. Thanks for the help I got it fixed now.

  9. #9
    Join Date
    Jan 2007
    Location
    Los Angeles, California, United States
    Posts
    10,023
    Plugin Contributions
    32

    Default Re: Help cloning table module

    Quote Originally Posted by Ajeh View Post
    canadatable should be a clone of table where table is replaced with canadatable and TABLE is replaced by CANADATABLE these are case sensative ...

    And be careful on which TABLE and table gets replaced as some of them need to remain the word table on the appropriate case ...
    Ahhh I was just in the middle of carefully following your instructions for cloning this module, and it occurred to me that some instances of the word table should NOT be replaced.. I hate to be a pain, but as I am not a coder, I can't be sure which ones should not be replaced.. (Though I have some educated guesses!) Can anyone give me a hand here?? Sure would appreciate the assist..

  10. #10
    Join Date
    Jan 2007
    Location
    Los Angeles, California, United States
    Posts
    10,023
    Plugin Contributions
    32

    Default Re: Help cloning table module

    Ahhhhhhh nevermind.. I'm am BEYOND tired.. I just used the code above to guide me.. Sorry.. tired.. makes you overlook the OBVIOUS!!!! **sigh**

 

 
Page 1 of 3 123 LastLast

Similar Threads

  1. Tips on cloning Table Rate shipping module
    By shirster in forum Built-in Shipping and Payment Modules
    Replies: 88
    Last Post: 2 Dec 2010, 10:41 AM
  2. Problem cloning table shipping
    By earmsby in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 11 Mar 2010, 08:21 PM
  3. Help building/cloning Shipping module for API
    By danstever in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 29 Feb 2008, 04:17 PM
  4. cloning table module problems
    By recordshow in forum Built-in Shipping and Payment Modules
    Replies: 2
    Last Post: 28 Nov 2006, 02:10 AM
  5. cloning the shipping module - table
    By drmad in forum Built-in Shipping and Payment Modules
    Replies: 5
    Last Post: 20 Oct 2006, 08:11 PM

Bookmarks

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
Zen-Cart, Internet Selling Services, Klamath Falls, OR