
This may be a whole separate question, but I'm running into this issue. I have an item set to free shipping, then when the customer goes to checkout, it goes straight to the payment options and bypasses shipping which is fine except the customer no longer has the option to change their shipping to address. That option normally displays on the shipping portion of the checkout procedure.
Your item isn't set to free shipping.. you have "Required Shipping = NO". You are describing the exact problem I am trying to address with this thread. There is no way to have individual free shipping without losing the ability to have a shipping addresssmorelli wrote:This may be a whole separate question, but I'm running into this issue. I have an item set to free shipping, then when the customer goes to checkout, it goes straight to the payment options and bypasses shipping which is fine except the customer no longer has the option to change their shipping to address. That option normally displays on the shipping portion of the checkout procedure.
I ran into this problem today.
I have items that are not charged for shipping and other that require UPS to ship out.
The easiest solution was to allow the free shipping module to be active with a price set at 0.00.
I also have my UPS module active.
What happens with the code below is that the free shipping option never shows up if something in the cart requires shipping and has a weight value of more than zero. This code does not block the other shipping modules from showing up.
This is a quick fix and coded fast. I'm sure it could be coded better, but I don't want to bother with diving into the system more.
file: catalog/model/shipping/free.php
I have items that are not charged for shipping and other that require UPS to ship out.
The easiest solution was to allow the free shipping module to be active with a price set at 0.00.
I also have my UPS module active.
What happens with the code below is that the free shipping option never shows up if something in the cart requires shipping and has a weight value of more than zero. This code does not block the other shipping modules from showing up.
This is a quick fix and coded fast. I'm sure it could be coded better, but I don't want to bother with diving into the system more.
file: catalog/model/shipping/free.php
Code: Select all
<?php
//modified version of free shipping to not show if a product purchased weighs something.
//this version requires the option of 'requires shipping' to be set to no if the product shouldn't be charged for shipping.
class ModelShippingFree extends Model {
function getQuote($address) {
//get products to find shipping weight
$ok = true;
$thecartitems = array();
//separate the options from the products
foreach ($_SESSION['cart'] as $k => $v) {
$k = explode(':', $k);
$thecartitems[] = $k[0];
}
//find weight if requires shipping
foreach ($thecartitems as $k => $v) {
$itmsql = mysql_query("SELECT weight FROM product WHERE shipping = '1' AND product_id = '$v'");
$itmrst = mysql_fetch_assoc($itmsql);
if ($itmrst['weight'] > 0) {
$ok = false;
break;
}
}
if ($ok) {
$this->load->language('shipping/free');
if ($this->config->get('free_status')) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('free_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
if (!$this->config->get('free_geo_zone_id')) {
$status = TRUE;
} elseif ($query->num_rows) {
$status = TRUE;
} else {
$status = FALSE;
}
} else {
$status = FALSE;
}
if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
$status = FALSE;
}
$method_data = array();
if ($status) {
$quote_data = array();
$quote_data['free'] = array(
'id' => 'free.free',
'title' => $this->language->get('text_description'),
'cost' => 0.00,
'tax_class_id' => 0,
'text' => $this->currency->format(0.00)
);
$method_data = array(
'id' => 'free',
'title' => $this->language->get('text_title'),
'quote' => $quote_data,
'sort_order' => $this->config->get('free_sort_order'),
'error' => FALSE
);
}
return $method_data;
}
}
}
?>
Hmm! Not sure what I've done wrong - I've uploaded the new files but the free shipping extension still looks the same - no new settings. I'm sure its my fault but any ideas?Qphoria wrote:Yes
Scratch that! I'm a fool and know exactly what I did wrong!
Thanks
The Geo Zone doesn't appear to be working in the Free Shipping extension now. I've set it to a UK zone only for the free shipping but it is giving the free shipping option regardless of what country the address is in. Is this a limitation of the new version?
Checked the code and checked the functionality on my demo site using this. It works fine for me.lovinit wrote:The Geo Zone doesn't appear to be working in the Free Shipping extension now. I've set it to a UK zone only for the free shipping but it is giving the free shipping option regardless of what country the address is in. Is this a limitation of the new version?
I set it for UK only geozone
If i use my USA address I don't see it.
If i use my UK address I see it.
I can't get it to work. I've tried un-installing the extension and re-installing but the free shipping still shows on countires not included in the Geo Zone selected.Qphoria wrote: Checked the code and checked the functionality on my demo site using this. It works fine for me.
I set it for UK only geozone
If i use my USA address I don't see it.
If i use my UK address I see it.
Another odd thing is that if I disable the Free Shipping extension, it still shows the option at checkout. The only way I can stop it showing is to uninstall the extension.
I have a renamed admin folder (which is what caused my initial problem when I uploaded the folders without changing the admin folder name fisrt) - could this have anything to do with it?
Many thanks
I am having some fun, did not realise this tweak was included in 1.4.9.5 when I updated.
I have been using free shipping and weight based shipping,
I previously set all "free shipping items" to 0.00 weight and set the cost of zero weight to £0.00. Worked fine.
I used Free shipping to give free shipping on all orders over £80.00
after updating all my products that where £10.00 yet included free shipping no longer work (they display the " no shipping method" error). I really need to fix this, I have a lot of products that use this method and are under the £80.00 free shipping threshold and no longer can be purchased!
Anyone managed to get this working?
Cheers
James
[EDIT] Have narrowed it down to weight based shipping not accepting a value of anything less than £0.01 as a valid value. Can anyone tell me where the code is to change this so that it allows a value of 0 again?
[EDIT EDIT]
Thought I had found a workaround by using flat rate shipping to offer £0.00 charge on the sub £80.00 free shipping products. However this meant that people in other geo zones could also get free shipping that I would need to charge a surcharge to!
I have been using free shipping and weight based shipping,
I previously set all "free shipping items" to 0.00 weight and set the cost of zero weight to £0.00. Worked fine.
I used Free shipping to give free shipping on all orders over £80.00
after updating all my products that where £10.00 yet included free shipping no longer work (they display the " no shipping method" error). I really need to fix this, I have a lot of products that use this method and are under the £80.00 free shipping threshold and no longer can be purchased!
Anyone managed to get this working?
Cheers
James
[EDIT] Have narrowed it down to weight based shipping not accepting a value of anything less than £0.01 as a valid value. Can anyone tell me where the code is to change this so that it allows a value of 0 again?
[EDIT EDIT]
Thought I had found a workaround by using flat rate shipping to offer £0.00 charge on the sub £80.00 free shipping products. However this meant that people in other geo zones could also get free shipping that I would need to charge a surcharge to!
Last edited by speedingorange on Mon Jun 20, 2011 11:19 pm, edited 1 time in total.
This is a bug.. it was addressed in the 1.4.9.5 official bug thread and a patch for the file was createdspeedingorange wrote:I am having some fun, did not realise this tweak was included in 1.4.9.5 when I updated.
I have been using free shipping and weight based shipping,
I previously set all "free shipping items" to 0.00 weight and set the cost of zero weight to £0.00. Worked fine.
I used Free shipping to give free shipping on all orders over £80.00
after updating all my products that where £10.00 yet included free shipping no longer work (they display the " no shipping method" error). I really need to fix this, I have a lot of products that use this method and are under the £80.00 free shipping threshold and no longer can be purchased!
Anyone managed to get this working?
Cheers
James
[EDIT] Have narrowed it down to weight based shipping not accepting a value of anything less than £0.01 as a valid value. Can anyone tell me where the code is to change this so that it allows a value of 0 again?
Have applied the fix and it still does not work, I hope i described it correctly.
My free shipping value is £80.00 as set in the free shipping module, and it is set to apply to everything.
I used weight based shipping with a weight of 0.00:0.00, to give free shipping or shipping at no cost on selected items of less than £80.00.
This no longer works, the patch files seem to address a slightly different issue.
Cheers
James
My free shipping value is £80.00 as set in the free shipping module, and it is set to apply to everything.
I used weight based shipping with a weight of 0.00:0.00, to give free shipping or shipping at no cost on selected items of less than £80.00.
This no longer works, the patch files seem to address a slightly different issue.
Cheers
James
Qphoria wrote:This is a bug.. it was addressed in the 1.4.9.5 official bug thread and a patch for the file was createdspeedingorange wrote:I am having some fun, did not realise this tweak was included in 1.4.9.5 when I updated.
I have been using free shipping and weight based shipping,
I previously set all "free shipping items" to 0.00 weight and set the cost of zero weight to £0.00. Worked fine.
I used Free shipping to give free shipping on all orders over £80.00
after updating all my products that where £10.00 yet included free shipping no longer work (they display the " no shipping method" error). I really need to fix this, I have a lot of products that use this method and are under the £80.00 free shipping threshold and no longer can be purchased!
Anyone managed to get this working?
Cheers
James
[EDIT] Have narrowed it down to weight based shipping not accepting a value of anything less than £0.01 as a valid value. Can anyone tell me where the code is to change this so that it allows a value of 0 again?
That sounds like it is related to the weight based shipping, not free or flatspeedingorange wrote:Have applied the fix and it still does not work, I hope i described it correctly.
My free shipping value is £80.00 as set in the free shipping module, and it is set to apply to everything.
I used weight based shipping with a weight of 0.00:0.00, to give free shipping or shipping at no cost on selected items of less than £80.00.
This no longer works, the patch files seem to address a slightly different issue.
Cheers
James
I assumed it was related due to your last post on this thread here: http://forum.opencart.com/viewtopic.php?t=19450
It's exactly what I was looking for in the thread I opened here:
viewtopic.php?f=114&t=35401&p=171099&e=171099
The first solution provided by Q works like a charm!
Thank you!
Lao Mayer
viewtopic.php?f=114&t=35401&p=171099&e=171099
The first solution provided by Q works like a charm!
Thank you!
Lao Mayer
I'm using Open Cart 1.5.4.1 on http://www.importpieseauto.ro
Q,
I am on OC 1.4.9.6.
I am using weight based shipping and "free shipping" coupon. Two items in the order. They are Product A weight 5lbs
and Product B weight 100lbs.
The "free shipping" coupon is set to only trigger for for Product A weight 5lbs.
The "free shipping" module is set to "No" Product B is not eligible for Free Shipping for anything over 1.00
for all GEO zones.
However the "free shipping" coupon is still being picked up and applied to the entire
order. Did I miss something? I tried changing the sort order several different ways with no luck.
Product Model Quantity Price Total
Product A A 1 $159.00 $159.00
Product B B 1 $573.00 $573.00
Sub-Total: $732.00
Coupon (FREE SHIPPING): -$140.00
Residential Delivery Zone 1 (Weight: 100.00lb): $140.00
Illinois Tax: $45.75
Total: $777.75
I am on OC 1.4.9.6.
I am using weight based shipping and "free shipping" coupon. Two items in the order. They are Product A weight 5lbs
and Product B weight 100lbs.
The "free shipping" coupon is set to only trigger for for Product A weight 5lbs.
The "free shipping" module is set to "No" Product B is not eligible for Free Shipping for anything over 1.00
for all GEO zones.
However the "free shipping" coupon is still being picked up and applied to the entire
order. Did I miss something? I tried changing the sort order several different ways with no luck.
Product Model Quantity Price Total
Product A A 1 $159.00 $159.00
Product B B 1 $573.00 $573.00
Sub-Total: $732.00
Coupon (FREE SHIPPING): -$140.00
Residential Delivery Zone 1 (Weight: 100.00lb): $140.00
Illinois Tax: $45.75
Total: $777.75
Who is online
Users browsing this forum: No registered users and 3 guests