Post by bryanrobo » Fri Sep 09, 2011 6:08 am

Are these files available for 1.5 ? I tried using the 1.4 files in this thread and they didn't work.
thanks

Newbie

Posts

Joined
Fri Sep 09, 2011 6:06 am

Post by Qphoria » Fri Sep 09, 2011 11:10 am

No because I'm not 100% sure this is the best method for a long term fix.

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by ajbarry99 » Thu Sep 15, 2011 2:33 am

I use weight based shipping and I found a work around by setting the weight to zero for the items that I want free shipping. Works a charm.

Newbie

Posts

Joined
Tue Jul 12, 2011 1:08 pm

Post by Lao » Thu Sep 15, 2011 7:41 pm

The solution in this topic worked like a charm in 1.4.9.4

I would be more than pleased to have it in 1.5.1.1 also.

I'm using Open Cart 1.5.4.1 on http://www.importpieseauto.ro


User avatar
Lao
Active Member

Posts

Joined
Tue Nov 23, 2010 3:31 pm
Location - Craiova, Romania

Post by jimmo » Sat Oct 01, 2011 1:16 pm

Hello! I'm evaluating OpenCart 1.5.1.3 as an alternative against my current ecommerce environment.

On the free/flat shipping topic, I found this thread while trying to figure out how to implement the opencart equivalent of my current shipping policies etc.. Specifically, my current (non-opencart) shipping works as follows...

1. Free delivery is defined by product. High value items like PC systems have free delivery. Components have a flat rate. Bulkies have by-weight shipping bands.

2. I have a "free delivery" image/text on those products flagged as "free delivery". This encourages a purchase decision and conveys a sense of additional value to the customer.

3. Shipping costs are shown in the shopping cart, so there are no "surprises" at checkout. From a usability perspective I've always hated shopping online with no idea what my actual delivery charges are until the late stage of checkout.

Fortunately most leading sites here do show this information in the cart prior to checkout, or at least what your options will be, and I have been following suit.

As I only ship to the UK, I know what the costs will be depending on what products are in the cart (free vs total weight vs combination of the two). I can use the existing flat rate or by-weight shipping bands to calculate this for non-free items.

One way for me to implement this locally might be to set "requires shipping" to "no" for free delivery products, then add code to conditionally display the "free delivery!" slogan for products with this attribute (I don't currently have non-physical products).

Then I can add some logic to the cart code to add a delivery line item to the summary based on the above mentioned calculation. Does this sound reasonable? Or am I missing a trick because there's a better way? :)

Cheers all...
-J

Newbie

Posts

Joined
Sat Oct 01, 2011 12:48 pm

Post by antrim » Fri Nov 04, 2011 6:02 am

So here's how we solved the issue with free shipping on a per-product basis using version 1.5.1.3.

Set the "free-eligible" product to require shipping.
Set the weight to 0. All other products should weight 0.1 or greater.

If you're using the UPS module, here's what to change (probably similar in other extensions):

catalog/model/shipping/ups.php

Find (~ line 23):

Code: Select all

$weight = ($weight < 0.1 ? 0.1 : $weight);
Replace With:

Code: Select all

//$weight = ($weight < 0.1 ? 0.1 : $weight);
Find (~ line 237):

Code: Select all

$error_msg .= ': ' . $error->getElementsByTagName('ErrorDescription')->item(0)->nodeValue;
Add After:

Code: Select all

if ($error_msg = '111030: Packages must weigh more than zero pounds.')
					{ $error_msg = '<span style="color:green">This order qualifies for free shipping!</span>'; }
Note: changed font color to green so that it doesn't look like an error.

Should Look Like This:

Code: Select all

$error_msg .= ': ' . $error->getElementsByTagName('ErrorDescription')->item(0)->nodeValue;
					
					if ($error_msg = '111030: Packages must weigh more than zero pounds.')
					{ $error_msg = '<span style="color:green">This order qualifies for free shipping!</span>'; }
						
				} else { ...
Then open catalog/model/shipping/free.php

Find (~ line 16):

Code: Select all

if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
		$status = false;
		}
Replace With:

Code: Select all

//if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
		if ($this->cart->getWeight() > '0') {
			$status = false;
		}
How it works. It sends a 0 weight shipment to the UPS API which results in the 111030 error. That's then translated to a free shipping response rather than the error.

Then the free shipping model is converted to a weight-based evaluation rather than cart total. Note! If you still want to ALSO offer free shipping for a cart total over a certain value, you should use an OR statement like this:

Code: Select all

//if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
		if (($this->cart->getWeight() > '0') ||  ($this->cart->getSubTotal() >= $this->config->get('free_total')){
			$status = false;
		}
We have this working on http://www.antrimsupply.com if you want to play around in a live cart.

BOUNS: This ALSO allows you to provide free shipping and still give the end user an opportunity to provide a separate shipping address from their billing address. Two birds with one stone!

Newbie

Posts

Joined
Sat Feb 05, 2011 10:57 am

Post by Lao » Tue Dec 06, 2011 8:10 pm

Any other solution besides this "weight" workaround?

I'm using Open Cart 1.5.4.1 on http://www.importpieseauto.ro


User avatar
Lao
Active Member

Posts

Joined
Tue Nov 23, 2010 3:31 pm
Location - Craiova, Romania

Post by Medina » Sun Dec 11, 2011 12:24 pm

Hello to all,
I am new hereabouts, first thank you for the contributions, it has helped me very much, I have to say that the modules me work to the perfection (1.4.9.1), can form shipping free for independent products, and shipping free in globally, in this case I have it in globally when come to the $100, but now I have a problem, bandage boats of a (liquid) liter, these boats weigh 1.300 klg, if he sent it is a boat this one well, but if they ask for 3 boats the shipping ruins me, I cannot offer shipping gratis to any more than 4 kilos, it is possible to do that the free shipping deactivates on having come to 4 kilos?... ???


Regards

Trank you

New member

Posts

Joined
Sat Dec 10, 2011 7:54 am

Post by Qphoria » Tue Dec 13, 2011 12:20 am

Another idea I just had that might make this a little simpler for problem #2.

Simply add an option to the settings area:
Collect Shipping Address:
With options:
0 - Product Required - which means do what it does currently, collect shipping only if one cart item requires it.
1 - Always - which means always gather them no matter what. This way you can set "Require Shipping" to NO to prevent it from being calculated as part of the cart shipping weight, but still get the address for items that are free shipping.

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Nile » Tue Jan 24, 2012 8:40 pm

I have the opposite issue.

I'm offering free shipping to all our products. However products that we have featured on a deal site need to incur shipping.

Therefore I was thinking that what ever shipping options are enabled in the shipping admin page would be available in a dropdown in the admin product input section. Currently when entering a product in the backend there is a choice 'Shipping Required' yes or no. How about 'shipping option' instead, with the dropdown showing the current enabled shipping options. Then you can choose the shipping for each item individually. Obviously only the option chosen shows in the cart of that specific item.

Is this possible?

Newbie

Posts

Joined
Wed Jan 11, 2012 12:41 am

Post by NoJoke » Sun Jan 29, 2012 8:30 am

Im having a slight issue with this as well. The free ship module for the store I am using will be only for certain items. Now if a customer orders one item with free ship and one without they are charged for shipping on both instead of one.

Is there any work arounds that I can possibly implement to fix this issue?

Active Member

Posts

Joined
Fri Oct 14, 2011 5:37 am

Post by miradoro » Sat Mar 10, 2012 4:51 am

Hi

i have been trying to follow up with you guys but i am a bit confused
will the files provided for download on page1 will work for 1.4.9.4?

will it really allow me to set 'free shipping' in some items? If mixed by another 'no free shipping' item, will checkout only calculate shipping on the 'no free shipping' item ?

Please advice

New member

Posts

Joined
Tue May 03, 2011 9:43 pm

Post by Qphoria » Sat Mar 10, 2012 5:23 am

miradoro wrote:Hi

i have been trying to follow up with you guys but i am a bit confused
will the files provided for download on page1 will work for 1.4.9.4?

will it really allow me to set 'free shipping' in some items? If mixed by another 'no free shipping' item, will checkout only calculate shipping on the 'no free shipping' item ?

Please advice
Yes it will work for 1.4.9.4 (and all 1.4.9.x versions)
Yes it will let you choose items to allow free or not and only calculate on the non-free items.

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by tastysnack » Sat Apr 07, 2012 9:54 pm

I need the exact same thing for items that weigh zero, except ! I still want to gather the delivery address etc, It's only the delivery method I want to skip if the item weighs zero.

I have added the script as it is currently but would be very grateful if you could tell me how to make it only skip that one section and not both.

Many Thanks

Luke

http://www.thegardenrose.co.uk/shop

( stick fresh flowers into the basket to see what I mean , The delivery cost is applied to the product and has a weight set to zero to stop the person being charged again)

Newbie

Posts

Joined
Fri Apr 06, 2012 12:19 am

Post by number8pie » Wed Mar 20, 2013 8:16 pm

Just want to say thanks to Qphoria for the edited free and flat shipping modules, really, really useful. ;D

User avatar
New member

Posts

Joined
Tue May 10, 2011 9:35 pm

Post by freshout » Sat Aug 24, 2013 10:36 pm

Qphoria wrote:Another idea I just had that might make this a little simpler for problem #2.

Simply add an option to the settings area:
Collect Shipping Address:
With options:
0 - Product Required - which means do what it does currently, collect shipping only if one cart item requires it.
1 - Always - which means always gather them no matter what. This way you can set "Require Shipping" to NO to prevent it from being calculated as part of the cart shipping weight, but still get the address for items that are free shipping.
Hey All,

This is exactly what im looking for ... Has this modification been developed?

Cheers,

Newbie

Posts

Joined
Mon Apr 15, 2013 2:56 am

Post by Qphoria » Tue Aug 27, 2013 12:27 am

freshout wrote:
Qphoria wrote:Another idea I just had that might make this a little simpler for problem #2.

Simply add an option to the settings area:
Collect Shipping Address:
With options:
0 - Product Required - which means do what it does currently, collect shipping only if one cart item requires it.
1 - Always - which means always gather them no matter what. This way you can set "Require Shipping" to NO to prevent it from being calculated as part of the cart shipping weight, but still get the address for items that are free shipping.
Hey All,

This is exactly what im looking for ... Has this modification been developed?

Cheers,
No because it was never agreed on by Daniel. Was waiting to see if there was another alternative that he had planned but haven't seen anything

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by NoJoke » Thu Sep 05, 2013 4:09 am

Still would like to see something fixed upon this.

If product A has free shipping and product B does not then it should only charge the shipping price on product B. Now it would be hard for the customer to know that product A has free shipping unless they are notified that the product has free shipping on the cart and checkout page so they can be certain that they are only being charged shipping on product B.

I know the best solution to fix this issue would to just make it simple and have all or most items ship for free if the cart sub-total reaches a certain amount, seems to be the most popular promotion on the bigger retailers.

Active Member

Posts

Joined
Fri Oct 14, 2011 5:37 am

Post by alazharstore » Mon Sep 16, 2013 12:09 am

Hi.

Thanks Q for this awesome module. I couldn't run it in 1.5.5 and some fields are missing. Really appreciate if you could take a look as well as update it to 1.5.5. thank you so muych

Newbie

Posts

Joined
Sun Sep 15, 2013 6:06 pm

Post by dislike » Sat Oct 12, 2013 3:00 am

I cant believe this has been going on for years and something so trivial to a cart system hasn't been addressed..

Is anyone aware of a paid extension that does this?

Using 1.5.6, what options can we do to allow an item to be shipped free. but still require billing/shipping to verify?

Newbie

Posts

Joined
Sat Oct 12, 2013 2:56 am
Who is online

Users browsing this forum: No registered users and 4 guests