Per Item Module with 22 zones
Hi, I've been wrestling with this for a while. My client has 22 separate shipping zones. But she wants each zone to ship per item.
For instance, I buy one box of cupcakes and I am shipping to AZ. Cost is 10.29. I buy 2 boxes of cupcakes, the shipping price doubles to 20.598 For three, it triples to 30.87, etc.
I tried to make this work using zone table rate. But then I have to enter a long string per zone, like 1:10.29,2:20.58,3:30.87,4:41.17, etc etc etc up to 20 or more. And then if someone enters 21, the shipping cost goes to zero because that number of items isn't entered. :wacko:
I think the solution is to clone the per item shipping module 22 times, one for each zone. I'm willing to do this, but I will need some really specific advice. If someone can walk me though cloning it once, I'm sure I can carry on from there. Thanks in advance!
Re: Per Item Module with 22 zones
You should be able to do a search on:
clone item
clone flat
for examples of cloning shipping modules ...
Re: Per Item Module with 22 zones
Thanks, I have tried that but all I get is this same response in different threads, that:
ou should be able to do a search on:
clone item
clone flat
for examples of cloning shipping modules
:no:
Re: Per Item Module with 22 zones
See if this thread helps that I found with a search on:
clone item
http://www.zen-cart.com/forum/showth...ght=clone+item
Re: Per Item Module with 22 zones
Thanks! For anyone else trying to do this:
I did that with modules/shipping/item.php, named a new one itemzone2.php, replaced all incidents of item or ITEM with itemzone2 or ITEMZONE2.
At first I got an error that I was missing includes/languages/modules/shipping/item.php.
So I downloaded that page and did the same replacement. I uploaded the two pages and on the shipping module in the cart it appeared under per item as per itemzone2. Now I just have to do it 21 more times successfully. :clap:
Thanks for your help!!
1 Attachment(s)
Re: Per Item Module with 22 zones
:( Argh. Update:
While the new modules show up on the administrative side, when I set up per itemzone2, then go to the customer side and estimate shipping with a zip code from that zone, I get what you see in the attachment here.
It is set up exactly like per item, except I selected zone 2 instead of zone 1, and the price is different.
Re: Per Item Module with 22 zones
Re: Per Item Module with 22 zones
Could you post this shipping module code so that we can peek at it? :unsure:
Re: Per Item Module with 22 zones
Sure thing. The includes/modules/shipping/itme.php hasn't been touched. Here is the code for itemzone2.php. I noticed that there were a few places where I hadn't capitalized itemzone2, but when I made those changes last night it made the problem worse, so I restored it. itemzone2.php is below. Thanks!!
Code:
<?php
class itemzone2 {
var $code, $title, $description, $icon, $enabled;
// class constructor
function itemzone2() {
global $order, $db;
$this->code = 'itemzone2';
$this->title = MODULE_SHIPPING_ITEMZONE2_TEXT_TITLE;
$this->description = MODULE_SHIPPING_ITEMZONE2_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_ITEMZONE2_SORT_ORDER;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_ITEMZONE2_TAX_CLASS;
$this->tax_basis = MODULE_SHIPPING_ITEMZONE2_TAX_BASIS;
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_itemzone2_STATUS == 'True') ? true : false);
}
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_ITEMZONE2_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_ITEMZONE2_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, $total_count;
// adjusted count for free shipping
$itemzone2_total_count = $total_count - $_SESSION['cart']->free_shipping_itemzone2s();
$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_ITEMZONE2_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_ITEMZONE2_TEXT_WAY,
'cost' => (MODULE_SHIPPING_ITEMZONE2_COST * $itemzone2_total_count) + MODULE_SHIPPING_ITEMZONE2_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_ITEMZONE2_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 itemzone2 Shipping', 'MODULE_SHIPPING_ITEMZONE2_STATUS', 'True', 'Do you want to offer per itemzone2 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, date_added) values ('Shipping Cost', 'MODULE_SHIPPING_ITEMZONE2_COST', '2.50', 'The shipping cost will be multiplied by the number of itemzone2s in an order that uses 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, date_added) values ('Handling Fee', 'MODULE_SHIPPING_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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\_ITEMZONE2\_%'");
}
function keys() {
return array('MODULE_SHIPPING_itemzone2_STATUS', 'MODULE_SHIPPING_itemzone2_COST', 'MODULE_SHIPPING_ITEMZONE2_HANDLING', 'MODULE_SHIPPING_ITEMZONE2_TAX_CLASS', 'MODULE_SHIPPING_itemzone2_TAX_BASIS', 'MODULE_SHIPPING_ITEMZONE2_ZONE', 'MODULE_SHIPPING_ITEMZONE2_SORT_ORDER');
}
}
?>
Re: Per Item Module with 22 zones
You have to be more careful with the upper/lower case and not change just anything with the word item as some are necessary variables and functions ...
Code:
<?php
class itemzone2 {
var $code, $title, $description, $icon, $enabled;
// class constructor
function itemzone2() {
global $order, $db;
$this->code = 'itemzone2';
$this->title = MODULE_SHIPPING_ITEMZONE2_TEXT_TITLE;
$this->description = MODULE_SHIPPING_ITEMZONE2_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_ITEMZONE2_SORT_ORDER;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_ITEMZONE2_TAX_CLASS;
$this->tax_basis = MODULE_SHIPPING_ITEMZONE2_TAX_BASIS;
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_ITEMZONE2_STATUS == 'True') ? true : false);
}
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_ITEMZONE2_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_ITEMZONE2_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, $total_count;
// adjusted count for free shipping
$item_total_count = $total_count - $_SESSION['cart']->free_shipping_items();
$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_ITEMZONE2_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_ITEMZONE2_TEXT_WAY,
'cost' => (MODULE_SHIPPING_ITEMZONE2_COST * $item_total_count) + MODULE_SHIPPING_ITEMZONE2_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_ITEMZONE2_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 itemzone2 Shipping', 'MODULE_SHIPPING_ITEMZONE2_STATUS', 'True', 'Do you want to offer per itemzone2 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, date_added) values ('Shipping Cost', 'MODULE_SHIPPING_ITEMZONE2_COST', '2.50', 'The shipping cost will be multiplied by the number of itemzone2s in an order that uses 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, date_added) values ('Handling Fee', 'MODULE_SHIPPING_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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_ITEMZONE2_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\_ITEMZONE2\_%'");
}
function keys() {
return array('MODULE_SHIPPING_ITEMZONE2_STATUS', 'MODULE_SHIPPING_ITEMZONE2_COST', 'MODULE_SHIPPING_ITEMZONE2_HANDLING', 'MODULE_SHIPPING_ITEMZONE2_TAX_CLASS', 'MODULE_SHIPPING_ITEMZONE2_TAX_BASIS', 'MODULE_SHIPPING_ITEMZONE2_ZONE', 'MODULE_SHIPPING_ITEMZONE2_SORT_ORDER');
}
}
?>
Re: Per Item Module with 22 zones
Thanks you SO much!! I don't know much about php, I really appreciate the code. :clap:
Re: Per Item Module with 22 zones
You are most welcome ... thanks for the update that this is now working for you ... :smile:
Re: Per Item Module with 22 zones
Hi, I'm back. The cloned shipping modules are in place, and they work as far as giving the correct shipping amounts.
But when I try to place an order, it goes from Step 1 to a blank page. The source on the blank page shows that it is still at step one.
The cache shows this error over and over:
PHP Warning: Cannot modify header information - headers already sent by (output started at /home2/thedess1/public_html/includes/languages/english/modules/shipping/itemzone10.php:13) in /home2/thedess1/public_html/includes/functions/functions_general.php on line 45
itemzone10.php is one of the newly cloned modules. I have tried deleting it.
Then I got:
PHP Warning: Cannot modify header information - headers already sent by (output started at /home2/thedess1/public_html/includes/languages/english/modules/shipping/itemzone11.php:13) in /home2/thedess1/public_html/includes/functions/functions_general.php on line 45
I have tried turning all the item modules off. Same problem. I am pretty sure if I delete all the modules (It will be a lot of work to reinstall them, so I haven't done this yet), it will work. I am attaching itemzone10.php in case you can spot the error. Thanks.
I can't attach itemzone10.php, so here is the code below.
<?php
class itemzone10 {
var $code, $title, $description, $icon, $enabled;
// class constructor
function itemzone10() {
global $order, $db;
$this->code = 'itemzone10';
$this->title = MODULE_SHIPPING_ITEMZONE10_TEXT_TITLE;
$this->description = MODULE_SHIPPING_ITEMZONE10_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_ITEMZONE10_SORT_ORDER;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_ITEMZONE10_TAX_CLASS;
$this->tax_basis = MODULE_SHIPPING_ITEMZONE10_TAX_BASIS;
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_ITEMZONE10_STATUS == 'True') ? true : false);
}
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_ITEMZONE10_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_ITEMZONE10_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, $total_count;
// adjusted count for free shipping
$item_total_count = $total_count - $_SESSION['cart']->free_shipping_items();
$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_ITEMZONE10_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_ITEMZONE10_TEXT_WAY,
'cost' => (MODULE_SHIPPING_ITEMZONE10_COST * $item_total_count) + MODULE_SHIPPING_ITEMZONE10_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_ITEMZONE10_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 itemzone10 Shipping', 'MODULE_SHIPPING_ITEMZONE10_STATUS', 'True', 'Do you want to offer per itemzone10 rate shipping?', '10', '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 ('Shipping Cost', 'MODULE_SHIPPING_ITEMZONE10_COST', '10.100', 'The shipping cost will be multiplied by the number of itemzone10s in an order that uses this shipping method.', '10', '0', 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_ITEMZONE10_HANDLING', '0', 'Handling fee for this shipping method.', '10', '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_ITEMZONE10_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '10', '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_ITEMZONE10_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', '10', '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_ITEMZONE10_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '10', '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_ITEMZONE10_SORT_ORDER', '0', 'Sort order of display.', '10', '0', now())");
}
function remove() {
global $db;
$db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key like 'MODULE\_SHIPPING\_ITEMZONE10\_%'");
}
function keys() {
return array('MODULE_SHIPPING_ITEMZONE10_STATUS', 'MODULE_SHIPPING_ITEMZONE10_COST', 'MODULE_SHIPPING_ITEMZONE10_HANDLING', 'MODULE_SHIPPING_ITEMZONE10_TAX_CLASS', 'MODULE_SHIPPING_ITEMZONE10_TAX_BASIS', 'MODULE_SHIPPING_ITEMZONE10_ZONE', 'MODULE_SHIPPING_ITEMZONE10_SORT_ORDER');
}
}
?>
Re: Per Item Module with 22 zones
Actually, in the folder includes/languages/english/modules there is another file I created also called itemzone10/php, here is that code:
<?php
define('MODULE_SHIPPING_ITEMZONE10_TEXT_TITLE', 'Per itemzone10');
define('MODULE_SHIPPING_ITEMZONE10_TEXT_DESCRIPTION', 'Per itemzone10');
define('MODULE_SHIPPING_ITEMZONE10_TEXT_WAY', 'Best Way');
?>
Re: Per Item Module with 22 zones
Check these two files:
/home2/thedess1/public_html/includes/languages/english/modules/shipping/itemzone10.php
/home2/thedess1/public_html/includes/languages/english/modules/shipping/itemzone11.php
as the error message states and see if there are space(s) or blank line(s) after the closing php bracket ?> at the end of the files and remove them ...
Re: Per Item Module with 22 zones
I'm intensely embarrassed that I didn't check that first, as I had already done it with checkout.php. However, I've done it now with all 22 clones, and made the modules all live again.
I tested and got a blank page, and the cache error log says:
PHP Warning: Cannot modify header information - headers already sent by (output started at /home2/thedess1/public_html/includes/languages/english/modules/shipping/itemzone10.php:13) in /home2/thedess1/public_html/includes/functions/functions_general.php on line 45
Triple check of itemzone10.php shows no space after the closing tag.
Re: Per Item Module with 22 zones
Delete the two files for itemzone10.php ...
Does the error go away?
Then edit the language file and make sure those spaces and blank lines are gone and reload both files to the server ...
Re: Per Item Module with 22 zones
Fixed. I am appalled at my ignorance. Thanks so much! More blanks at the end of some of the language files.
Why isn't there an "I'm not worthy" emoticon?
:(
Re: Per Item Module with 22 zones
*snicker* ... got that T-shirt too ... :lamo: