jassy Posted June 11, 2012 Share Posted June 11, 2012 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 More sharing options...
bellini13 Posted June 11, 2012 Share Posted June 11, 2012 i would probably just define the applicable price/weight ranges for the "carrier in local country", and associate a zero price to them. Link to comment Share on other sites More sharing options...
jassy Posted June 12, 2012 Author Share Posted June 12, 2012 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.) 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 More sharing options...
bellini13 Posted June 12, 2012 Share Posted June 12, 2012 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 More sharing options...
jassy Posted June 12, 2012 Author Share Posted June 12, 2012 (edited) 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 June 12, 2012 by jassy (see edit history) Link to comment Share on other sites More sharing options...
jassy Posted June 12, 2012 Author Share Posted June 12, 2012 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 More sharing options...
bellini13 Posted June 13, 2012 Share Posted June 13, 2012 your problem is clear to me, and I have already responded that you cannot do it using the common setting with weight ranges. you would have to create a custom carrier module, or switch to using price ranges. Link to comment Share on other sites More sharing options...
jassy Posted June 13, 2012 Author Share Posted June 13, 2012 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 More sharing options...
bellini13 Posted June 14, 2012 Share Posted June 14, 2012 sorry, perhaps it is a language issue and someone can translate for me. i will stop posting on this topic now what you want to do cannot be done without switching to price ranges, or to create a custom carrier module. Link to comment Share on other sites More sharing options...
[email protected] Posted December 18, 2012 Share Posted December 18, 2012 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 2 Link to comment Share on other sites More sharing options...
PrestaShark Posted March 12, 2014 Share Posted March 12, 2014 (edited) @[email protected] !!Top notch!!!! For all. Solution works perfect with 1.5.6.2 classes/Cart.php file line: 2682 Edited March 12, 2014 by kisweb (see edit history) 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