Jump to content

free shipping for one carrier only


Recommended Posts

dear All

actually this is a repeated discussion. but due to the original discussion took place 3yrs ago, the tips are no longer applicable to me.

here's the former forum link solution provided by Ion_cannon:

http://www.prestasho...e-carrier-only/

 

despite 3yrs already, i noticed prestashop still has not decided to include this feature, the present version im using (1.4.8.2) still has the free shipping feature (whether by weight or by price) implemented to all carriers.

 

here's the php code for my version:

 

classes/Cart.php find //Free fees:

 

// free fees

$free_fees_price = 0;

if (isset($configuration['PS_SHIPPING_FREE_PRICE']))

$free_fees_price = Tools::convertPrice((float)($configuration['PS_SHIPPING_FREE_PRICE']), Currency::getCurrencyInstance((int)($this->id_currency)));

$orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING);

if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0)

return $shipping_cost;

if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) AND (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0)

return $shipping_cost;

 

 

i hv 2 carriers now, 1) carrier in local country (carrier ID: 37) & 2) carrier to my neighbour country (carrier ID: 36)

could anyone pls advise me how to configure free shipping for 1) carrier in local country (carrier ID: 37) & no free shippingapplicable to 2) carrier to my neighbour country (carrier ID: 36).

 

then in the event i hv more carriers for countries that has no free shipping, what do i do as well?

 

highly appreciate some assistance here.

rgds

jassy

Link to comment
Share on other sites

dear mr bellini

probably we hadnt understand each other.

i hv 2 carriers now, 1) carrier in local country (carrier ID: 37) & 2) carrier to my neighbour country (carrier ID: 36)

pls advise me how to configure :

A) freeshipping for carrier in local country (carrier ID: 37) (this i already knew how to configure, the condition is different weight ranges has different shipping fee & in the event if the shopping cart costs more than let's say $50, i hv set shipping fee free to customer.)

B) what i didnt want is to give is freeshipping to the 2nd carrier which is to my neighbour country (carrier ID: 36) (i hv already set different shipping fee for different weight, unfortunately prestashop freeshipping for shopping above $50 is a common feature & thus the condiction from item A also applied to item B. i didnt want this.

pls advise how can i resolve item b's condition of no freeshipping.

 

rgds

jassy

Link to comment
Share on other sites

so you are trying to configure your site to determine shipping cost based on weight, unless the order is over $50, in which case the order should be free, but just for your local country carrier?

 

If that is the case, you cannot do it without a customer carrier module, unless you change to use price ranges.

Link to comment
Share on other sites

dear mr bellini

i think we hv misunderstanding again in due to my english, speeling error & the emoticons that appear by itself.

 

i hv 2 carriers now, 1) carrier in local country (carrier ID: 37) & 2) carrier to my neighbour country (carrier ID: 36)

pls advise me how to configure :

 

a. freeshippingfor carrier in local country (carrier ID: 37) (this i already knew how to configure, the condition is different weight ranges has different shipping fee & in the event if the shopping cart costs more than let's say $50, i hv set shipping fee free to customer.) NO ISSUE ON THIS ITEM!

 

b. what i didnt want is to give is freeshipping to the 2nd carrier which is to my neighbour country (carrier ID: 36) (i hv already set different shipping fee for different weight, unfortunately prestashop freeshipping for shopping above $50 is a common feature & thus the condition from item a. also applied to item b. i didnt want the free shipping condition to be common to 1st & 2nd carrier.

 

pls advise how can i resolve item b's condition of no freeshipping. appreciate your patience in understanding my english.

appreciate that.

 

rgds

jassy

Edited by jassy (see edit history)
Link to comment
Share on other sites

dear mr bellini & can anyone else pls help....desperately needed help.....im just so close to few more steps to launch my store....but i couldnt if i cant get the shipping conditions straight...

pls help...

highly appreciate that....

rgds

jassy

Link to comment
Share on other sites

dear mr bellini

i hv tried reading your advise over & over again. but i still couldnt comprehend.

may be if you could be patience enough to identify what to configure for carrier ID 37 (my local country with weight range, free shipping after hit >$50) & carrier ID 36 (neighbour country with weight range, no free shipping).

highly appreciate that.

rgds

jassy

Link to comment
Share on other sites

  • 6 months later...

Hi Jassy

 

I have same problem as you have. i want shipping charge applicable based on weight but only upto 15 EURO after !5 EURO shipping is free and all other country i am charging based on weight Range.

 

to solve this i add following line in classes/Cart.php inside function getPackageShippingCost

replace line

if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) with below lline

if (isset($configuration['PS_SHIPPING_FREE_PRICE']) && $default_country->iso_code== 'NL')

 

i want to do this only for Netherlands(NL) so i used ISO code NL you can use based on your requirment

 

Thanks

kamlesh

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...