lyros Posted May 14, 2012 Share Posted May 14, 2012 (edited) Hello!! The title quite explains what I want to do, but here are the details: I have created two carriers, one for delivery in country zone A, and one for delivery in country zone B. Each estimates shipping cost based on product weight. I would like though to make an offer for the customers in zone A and give free shipping for orders that exceed 40 Euros. Is this posible in presta shop? Edited May 14, 2012 by lyros (see edit history) Link to comment Share on other sites More sharing options...
lyros Posted May 15, 2012 Author Share Posted May 15, 2012 Well I can't say that I solved this issue, but I came up with a simple by pass, which might be usefull for someone, so here it is: I edited file classes/Cart.php in line about 1220 after $shipping_cost *= 1 + ($carrierTax / 100); I added $lyr_order_total = $this->getOrderTotal(true, Cart::ONLY_PHYSICAL_PRODUCTS_WITHOUT_SHIPPING); $lyr_default_cur = Configuration::get('PS_CURRENCY_DEFAULT'); if( $this->id_currency != $lyr_default_cur){ $lyr_order_total = Tools::convertPrice((float)$lyr_order_total, $this->id_currency, false ); } /*Have to find out the id of the zone*/ if ( $id_zone == 7 && $lyr_order_total >= 40 ) return 0.00; As you can see it is not a very accurate solution when a user has selected a currency different than the default one. I hope someone could correct this. 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