Forums / General Questions / Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Views: 8,738

Results 61 to 80 of 99
12 Apr 2013, 8:17 AM
#61
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Ajeh:

Below those two can you add:

$chk_products_found = 0;
$chk_products = $_SESSION['cart']->get_products();

[B] $chk_catAll = $_SESSION['cart']->count_contents();
[/B]


!!***EUREKA***!!  

You never cease to amaze me Linda, I think it's amazing what you do and I hope these jars of coffee will keep you going!!
12 Apr 2013, 1:09 PM
#62
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Not a problem ... I think in the clean up some of the important code got left out/commented out that was needed to run everything ...

Good luck with your site! :smile:

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!

12 Apr 2013, 2:22 PM
#63
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Thanks Linda,

It's an impressive piece of coding. Now onto the next little mini-project for me :unsure:

Don't drink too much coffee :mellow:

12 Apr 2013, 2:41 PM
#64
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Never get enough coffee ... thanks again for your support ... :cool:

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!

25 Feb 2014, 11:31 AM
#65
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Hi Ajeh,

Are you still following this thread? Our website has changed to a completely new fileset and I'm having trouble figuring out why it's not working now, even though the same table rates are set up:

https://www.silkblooms.co.uk

We don't have the same amount of categories any more as we're using attributes now for filtering. Here's the complete category list we have now:

TABLE409
350 Folder Bespoke Flowers
369 Folder Hair Flowers & Headwear
6 Folder BRIDAL BOUQUETS
24 Folder Bridesmaid Flowers
357 Folder Flowergirl Flowers
19 Folder Floral Arrangements
409 Folder Ribbons
245 Folder Favours & Accessories

TABLE
23 Folder Corsages
7 Folder Buttonholes
377 Folder Loose, Artificial Flowers
355 Folder Home & Corporate Flowers

IRRELEVANT
820 Folder Wedding Flowers (MIXED PRODUCTS - contains linked products from all categories)

Some some reason, all products are using the TABLE rates and nothing picks up on the TABLE409 rates now. Can you help me investigate as I don't know where to begin? :dontgetit

25 Feb 2014, 1:37 PM
#66
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

It is hard to test anything as your have the SEO/rewrites on and I cannot "see" what I am doing when navigating your site ...

Could you post your shipping modules for Table409 and Table?

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!

25 Feb 2014, 1:56 PM
#67
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Ajeh:

It is hard to test anything as your have the SEO/rewrites on and I cannot "see" what I am doing when navigating your site ...

Could you post your shipping modules for Table409 and Table?

TABLE409:

<?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 table409 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 table409() {
    global $order, $db;

    $this->code = 'table409';
    $this->title = MODULE_SHIPPING_TABLE409_TEXT_TITLE;
    $this->description = MODULE_SHIPPING_TABLE409_TEXT_DESCRIPTION;
    $this->sort_order = MODULE_SHIPPING_TABLE409_SORT_ORDER;
    $this->icon = '';
    $this->tax_class = MODULE_SHIPPING_TABLE409_TAX_CLASS;
    $this->tax_basis = MODULE_SHIPPING_TABLE409_TAX_BASIS;
    // disable only when entire cart is free shipping
    if (zen_get_shipping_enabled($this->code)) {
      $this->enabled = ((MODULE_SHIPPING_TABLE409_STATUS == 'True') ? true : false);
    }


// bof: only show if all Products are from individual products_id and Master/Linked Categories
  if (!IS_ADMIN_FLAG) {


//-------------------------------------------------------------------------------------------------
    // check individual products_id 168, 169, 172
    $chk_products_found = 0;
    $chk_products = $_SESSION['cart']->get_products();
	$chk_catAll = $_SESSION['cart']->count_contents();
//    for ($i=0, $n=sizeof($chk_products); $i<$n; $i++) {
//      if ( in_array((int)$chk_products[$i]['id'], array(168, 169, 172)) ) {
//        $chk_products_found += $chk_products[$i]['quantity'];
//      }
//   }
//echo 'Products Individual Found: ' . $chk_products_found . '<br>';
//-------------------------------------------------------------------------------------------------


    // check Products from Linked Categories 5, 10, 22
    $chk_linked = $db->Execute("SELECT distinct products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE categories_id IN (409, 7, 103, 104, 105, 106, 336, 372, 361, 397, 395, 385, 401, 391, 400, 394, 384, 387, 399, 390)");
    while(!$chk_linked->EOF) {
      $selected_products_check .= $chk_linked->fields['products_id'];
      $chk_linked->MoveNext();
      if (!$chk_linked->EOF) {
        $selected_products_check .= ',';
      }
    }
    $selected_products = explode(',', $selected_products_check);
    // check cart contents for linked products
    $chk_products_linked = $chk_products;
    $chk_products_found_linked = 0;
    for ($i=0, $n=sizeof($chk_products_linked); $i<$n; $i++) {
      if ( in_array((int)$chk_products_linked[$i]['id'], $selected_products) ) {
        $chk_products_found_linked += $chk_products_linked[$i]['quantity'];
      }
    }
//echo 'Products Master/Linked Found: ' . $chk_products_found_linked . '<br>';

    $chk_cat_total = ($chk_products_found + $chk_products_found_linked);

    // if any Products are found and does not match ALL products in cart turn off the shipping module
    if (($chk_cat_total) != $chk_catAll) {
      $this->enabled = false;
    }
  }
// eof: only show if all Products are from individual products_id and Master/Linked Categories

    if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE409_ZONE > 0) ) {
      $check_flag = false;
      $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_TABLE409_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_TABLE409_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;
    }

    $table409_cost = split("[:,]" , MODULE_SHIPPING_TABLE409_COST);
    $size = sizeof($table409_cost);
    for ($i=0, $n=$size; $i<$n; $i+=2) {
      if (round($order_total,9) <= $table409_cost[$i]) {
        $shipping = $table409_cost[$i+1];
        break;
      }
    }

    if (MODULE_SHIPPING_TABLE409_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_TABLE409_TEXT_TITLE . $show_box_weight,
    'methods' => array(array('id' => $this->code,
    'title' => MODULE_SHIPPING_TABLE409_TEXT_WAY,
    'cost' => $shipping + MODULE_SHIPPING_TABLE409_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_TABLE409_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 Table409 Method', 'MODULE_SHIPPING_TABLE409_STATUS', 'True', 'Do you want to offer table409 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 Table409', 'MODULE_SHIPPING_TABLE409_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 ('Table409 Method', 'MODULE_SHIPPING_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_STATUS', 'MODULE_SHIPPING_TABLE409_COST', 'MODULE_SHIPPING_TABLE409_MODE', 'MODULE_SHIPPING_TABLE409_HANDLING', 'MODULE_SHIPPING_TABLE409_TAX_CLASS', 'MODULE_SHIPPING_TABLE409_TAX_BASIS', 'MODULE_SHIPPING_TABLE409_ZONE', 'MODULE_SHIPPING_TABLE409_SORT_ORDER');
  }
}
?>
25 Feb 2014, 1:56 PM
#68
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

TABLE:

TABLE
[PHP]<?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 6347 2007-05-20 19:46:59Z ajeh $
 */
/**
 * Enter description here...
 *
 */
class table 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 table() {
    global $order, $db;

    $this->code = 'table';
    $this->title = MODULE_SHIPPING_TABLE_TEXT_TITLE;
    $this->description = MODULE_SHIPPING_TABLE_TEXT_DESCRIPTION;
    $this->sort_order = MODULE_SHIPPING_TABLE_SORT_ORDER;
    $this->icon = '';
    $this->tax_class = MODULE_SHIPPING_TABLE_TAX_CLASS;
    $this->tax_basis = MODULE_SHIPPING_TABLE_TAX_BASIS;
    // disable only when entire cart is free shipping
    if (zen_get_shipping_enabled($this->code)) {
      $this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true : false);
    }

// bof: only show if all Products are OUTWITH Master/Linked Categories
  if (!IS_ADMIN_FLAG) {


//-------------------------------------------------------------------------------------------------
    // check individual products_id 168, 169, 172
    $chk_products_found = 0;
    $chk_products = $_SESSION['cart']->get_products();
	$chk_catAll = $_SESSION['cart']->count_contents();
//    for ($i=0, $n=sizeof($chk_products); $i<$n; $i++) {
//      if ( in_array((int)$chk_products[$i]['id'], array(168, 169, 172)) ) {
//        $chk_products_found += $chk_products[$i]['quantity'];
//      }
//   }
//echo 'Products Individual Found: ' . $chk_products_found . '<br>';
//-------------------------------------------------------------------------------------------------


    // check Products from Linked Categories 
    $chk_linked = $db->Execute("SELECT distinct products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE categories_id IN (409, 245, 19, 357, 24, 6, 350, 369)");
    while(!$chk_linked->EOF) {
      $selected_products_check .= $chk_linked->fields['products_id'];
      $chk_linked->MoveNext();
      if (!$chk_linked->EOF) {
        $selected_products_check .= ',';
      }
    }
    $selected_products = explode(',', $selected_products_check);
    // check cart contents for linked products
    $chk_products_linked = $chk_products;
    $chk_products_found_linked = 0;
    for ($i=0, $n=sizeof($chk_products_linked); $i<$n; $i++) {
      if ( in_array((int)$chk_products_linked[$i]['id'], $selected_products) ) {
        $chk_products_found_linked += $chk_products_linked[$i]['quantity'];
      }
    }
//echo 'Products Master/Linked Found: ' . $chk_products_found_linked . '<br>';

    $chk_cat_total = ($chk_products_found + $chk_products_found_linked);

    // if any Products are found and does not match ALL products in cart turn off the shipping module
    if (($chk_cat_total) == $chk_catAll) {
      $this->enabled = false;
    }
  }
// eof: only show if all Products are OUTWITH Master/Linked Categories

    if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_ZONE > 0) ) {
      $check_flag = false;
      $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_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_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() ;

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

    if (MODULE_SHIPPING_TABLE_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_TABLE_TEXT_TITLE . $show_box_weight,
    'methods' => array(array('id' => $this->code,
    'title' => MODULE_SHIPPING_TABLE_TEXT_WAY,
    'cost' => $shipping + MODULE_SHIPPING_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_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_TABLE_STATUS', 'MODULE_SHIPPING_TABLE_COST', 'MODULE_SHIPPING_TABLE_MODE', 'MODULE_SHIPPING_TABLE_HANDLING', 'MODULE_SHIPPING_TABLE_TAX_CLASS', 'MODULE_SHIPPING_TABLE_TAX_BASIS', 'MODULE_SHIPPING_TABLE_ZONE', 'MODULE_SHIPPING_TABLE_SORT_ORDER');
  }
}
?>
```\[/PHP]
25 Feb 2014, 2:12 PM
#70
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Are these two table files on the DEV site right now, as well?

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!

25 Feb 2014, 2:13 PM
#71
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

The idea being, if so can you turn off the SEO/rewrites on the Dev site?

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!

25 Feb 2014, 2:16 PM
#72
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Yes, DEV is a mirror image of live site. Identical at the moment.

25 Feb 2014, 2:18 PM
#73
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

SEO rewites on DEV are off now

25 Feb 2014, 2:29 PM
#74
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Can you edit the language file on Table409 so that there is something in the Title when using the shipping estimator to indicate it is table409 or Table running?

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!

25 Feb 2014, 2:34 PM
#75
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Done:

0=TABLE
409=TABLE409

25 Feb 2014, 2:36 PM
#76
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Everything is using TABLE and TABLE409 is being ignored

25 Feb 2014, 2:39 PM
#77
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

I hate to add a damper right now ... but I have a refrigerator being delivered so I am going to be tied up for awhile but I will get back to this asap ...

Meanwhile, couple questions:

1 do you use Linked Products

2 are you able to turn on the Previous/Next on this Dev site just to navigate easier and see the URL change etc.

Meanwhile, the door bell is ringing ... happy days, a new frige! :cool:

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!

25 Feb 2014, 2:45 PM
#78
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Lucky you ... I have been designated to restocking the frige and that won't be for an hour or two ... so back to this ...

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!

25 Feb 2014, 3:01 PM
#79
ajeh avatar

ajeh

Oba-san

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

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Okay getting somewhere ...

Try adding just:
/index.php?main_page=product_info&products_id=6659

to the cart ...

Looks like a 409 winner!

Now, more questions ...

When I go to
/index.php?main_page=site_map

I see 11 Categories but no subcategories ...

So ... are you hiding the subcategories? Do you have Products only in those Categories? Or do you possibly have Products and Categories mixed together?

If you go to phpMyAdmin in search the table:
products_to_categories

for the products_id 6659 how many rows come up and what categories_id are there?

If you search for the products_id 8179 how many rows come up and what categories_id are there?

SIDENOTE: If I search your site for:
Champagne Flutes SBF776

I cannot find it ... but if I search for:
SBF776

I do find it ... are you doing things to the Products Name that I cannot search for a Products Name to locate products?

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!

25 Feb 2014, 3:21 PM
#80
limelites avatar

limelites

Totally Zenned

Join Date:
Jan 2009
Posts:
2,085
Plugin Contributions:
0

Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

Hi Ajeh,

I think it might simply be a case of re-doing line #83 in table.php with the new category numbers... I'm going to try.