JRXpNamp Posted May 19, 2010 Share Posted May 19, 2010 Hey guys,First off, I'm relatively new to Prestashop. I've got my site pretty much up and running now, apart from the Shipping options.I can't seem to figure out how to setup my system so that all orders from the UK have FREE shipping applied, and a flatrate of £4.99 applied to international orders?Any help at all with this would be superb!Cheers Link to comment Share on other sites More sharing options...
rocky Posted May 20, 2010 Share Posted May 20, 2010 I suggest that you go to Shipping > Zones and create a UK zone and an International zone. Then go to Shipping > Carriers and create a Domestic carrier assigned to the UK zone and an International carrier assigned to the International zone. If you are using billing according to price, then go to Shipping > Price ranges, create a price range of £0 - £10000000 for each of the carriers, or basically any high amount that you don't expect anyone to order over. If you are using billing according weight, then go to Shipping > Weight ranges and create a weight range of 0kg - 1000000kg for each carrier. Once you've done this, you can go to the Shipping tab, select the Domestic carrier in the dropdown box at the bottom, leave the shipping cost as £0, then click Save, then select the International carrier in the dropdown box and enter the shipping cost as £4.99, then click Save. Once you've done that, whenever a customer checks out with a UK address, they will be charged no shipping and whenever a customer checks out with a non-UK address, they will be charged £4.99 shipping. 1 Link to comment Share on other sites More sharing options...
archproject Posted May 20, 2010 Share Posted May 20, 2010 Rocky, I made a change to the classes/cart.php just like what this post said and it also worked? what do you think ? but this is only free for the default carrier which you assigned to a country. http://www.prestashop.com/forums/viewthread/21663/general_discussion/modhacktip_free_shipping_on_one_carrier_only_dot_/ Link to comment Share on other sites More sharing options...
rocky Posted May 20, 2010 Share Posted May 20, 2010 That is a different situation. In that situation, you have a carrier that has free shipping from a certain order amount and another carrier that doesn't have free shipping. My solution was for when one carrier always has free shipping and another carrier doesn't have free shipping. Link to comment Share on other sites More sharing options...
archproject Posted May 20, 2010 Share Posted May 20, 2010 All I need is to create a Free Shipping Carrier and assign it to my country and anybody from my country will get free shipping ... other than that .. I have another carrier for international . would the above mentioned solution be applicable ? for my situation ? Link to comment Share on other sites More sharing options...
rocky Posted May 20, 2010 Share Posted May 20, 2010 Yes, it sounds like my solution is applicable. It covers free shipping for the UK and charging a flat rate internationally. Unfortunately, you can't assign a carrier to a country, only to a zone. That's why in my solution, you must create a zone that contains UK only and another zone that contains all other countries. Link to comment Share on other sites More sharing options...
JRXpNamp Posted May 25, 2010 Author Share Posted May 25, 2010 Thanks for your help!I'll give it a go this evening/tomorrow morning and report back how I get on.Cheers,Tom Link to comment Share on other sites More sharing options...
crash121 Posted June 6, 2011 Share Posted June 6, 2011 Help neededI am using presta shop final version 1.3my coding is // Free fees $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) $free_fees_price = Tools::convertPrice(floatval($configuration['PS_SHIPPING_FREE_PRICE']), new Currency(intval($this->id_currency))); $orderTotalwithDiscounts = $this->getOrderTotal(true, 4); if ($orderTotalwithDiscounts >= floatval($free_fees_price) AND floatval($free_fees_price) > 0) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0) return $shipping_cost; My shipping id is 27 and it is set to allow free shipping over £50 now with it this way it works perfect with the code i have put in the this post whhich is the orginial coding.but if I use any of the above code in other posts it does not give free shipping even if i change the ID in the examples that are on this thread.Please could some one assit me with this issue I dont know why it it is not letting me.The idea is that I allow free shipping over £50 to UK customers but not for US customers they will be still charged the flat fee.Can some one assit me please.Thanks you. Link to comment Share on other sites More sharing options...
uddhava Posted August 2, 2011 Share Posted August 2, 2011 I managed to do this by overriding the Cart.php class. In 1.4.4 you can find on line 1119 this code : if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0) return $shipping_cost; Now if you want to have free shipping for a particular Zone you need to loopup the Zone ID. This you can find in the BO > Shipping > Zones then use this new code to specify free shipping for this zone: if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0 AND $id_zone == 7) return $shipping_cost; So in this example you will get free shipping on all countries within Zone ID 7 Link to comment Share on other sites More sharing options...
laziali Posted April 2, 2013 Share Posted April 2, 2013 ok guys, how about if i want to set a free shipping starts @..... for each of my carriers? for example: Carrier#1(economy shipping) - free shipping @ $30 Carrier#2(priority shipping) - free shipping @ $60 I think it wont be much different than code changes discussed in this topic, but since i am not a php master i cant make it work. Any help will be welcomed.using presta1.5.3.1. Link to comment Share on other sites More sharing options...
tomerg3 Posted April 2, 2013 Share Posted April 2, 2013 Check out the following module http://www.prestashop.com/forums/index.php?/topic/148747-module-localized-shipping-set-shipping-rates-by-country-state-or-zipcode-range-or-wildcard/ It lets you do more that what you need, but also includes the option to have different free shipping limit for each carrier. Link to comment Share on other sites More sharing options...
laziali Posted April 14, 2013 Share Posted April 14, 2013 tomerg3 thanks alot for your response. i have checked your module and it looks fine, offering a lot of shipping options.I will defiantly consider buying such a module on a later stage of business development, but for now i need something free or at least a lot cheaper. once again thanks alot. Link to comment Share on other sites More sharing options...
HandCraft Posted May 11, 2013 Share Posted May 11, 2013 Rocky I have bit different issue............ I have billing choice of range as per total weight. I have only one carrier defined as any std carrier. I want to offer Free Shipping above 500 INR to domestic [indian] customers and free shipping for international customers above 550 USD. How to do this? My default currency is INR and default country is India. I suggest that you go to Shipping > Zones and create a UK zone and an International zone. Then go to Shipping > Carriers and create a Domestic carrier assigned to the UK zone and an International carrier assigned to the International zone. If you are using billing according to price, then go to Shipping > Price ranges, create a price range of £0 - £10000000 for each of the carriers, or basically any high amount that you don't expect anyone to order over. If you are using billing according weight, then go to Shipping > Weight ranges and create a weight range of 0kg - 1000000kg for each carrier. Once you've done this, you can go to the Shipping tab, select the Domestic carrier in the dropdown box at the bottom, leave the shipping cost as £0, then click Save, then select the International carrier in the dropdown box and enter the shipping cost as £4.99, then click Save. Once you've done that, whenever a customer checks out with a UK address, they will be charged no shipping and whenever a customer checks out with a non-UK address, they will be charged £4.99 shipping. Link to comment Share on other sites More sharing options...
jellevdl Posted November 20, 2014 Share Posted November 20, 2014 I suggest that you go to Shipping > Zones and create a UK zone and an International zone. Then go to Shipping > Carriers and create a Domestic carrier assigned to the UK zone and an International carrier assigned to the International zone. If you are using billing according to price, then go to Shipping > Price ranges, create a price range of £0 - £10000000 for each of the carriers, or basically any high amount that you don't expect anyone to order over. If you are using billing according weight, then go to Shipping > Weight ranges and create a weight range of 0kg - 1000000kg for each carrier. Once you've done this, you can go to the Shipping tab, select the Domestic carrier in the dropdown box at the bottom, leave the shipping cost as £0, then click Save, then select the International carrier in the dropdown box and enter the shipping cost as £4.99, then click Save. Once you've done that, whenever a customer checks out with a UK address, they will be charged no shipping and whenever a customer checks out with a non-UK address, they will be charged £4.99 shipping. Hi Rocky, I have a shop in Belgium , but i also deliver to the Netherlands. I want free shipping for Belgium as from 75 EUR. But not for the Netherlands. Your answer above could work if I had my transport cost calculated by EUR, but it's calculated by weight ... Is there an easy solution to solve my problem ? kr Jelle Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now