Jump to content

  • You cannot start a new topic
  • You cannot reply to this topic

free shipping to domestic addresses and not to international for specific products Rate Topic   - - - - -

 
  • developer
  • Member
  • Members
  • Join Date: 02-Jan 12
  • 42 posts

Posted 11 October 2012 - 11:28 AM #1

I want to do some "free shipping" settings in my store. i am using v3.
I done some search and after that i got,
You can set Free shipping on products in default cs-cart via two ways.
- You can set it to Specific Product by Admin -> Products -> Products -> Click on Specific Product -> Shipping Properties -> Free Shipping check box.
- Shipping Taxes -> Shipping methods -> Create New Method. There is a nice article on how to create free shipping method http://kb.cs-cart.com/free-shipping.
In second option you can specify country for with you want to apply free shipping with some conditions, but i want to apply free shipping to specific products and to specific country. means for domestic addresses apply free shipping and for international don't. how can i apply different shipping settings for different countries to specific products.
can anyone please help me in this ?

 
  • developer
  • Member
  • Members
  • Join Date: 02-Jan 12
  • 42 posts

Posted 11 October 2012 - 02:52 PM #2

anyone :?:

 
  • pbannette
  • Senior Member
  • Members
  • Join Date: 09-Aug 07
  • 1036 posts

Posted 11 October 2012 - 04:42 PM #3

Hi,
I set up manual Shipping methods for domestic shipping and have fee shipping over a certain amount. I then use USPS live rate international shipping for non-domestic orders.
You may also be able to use Promotions and narrow it down that way.
Bob

Version CS-Cart 4.3.5


 
  • developer
  • Member
  • Members
  • Join Date: 02-Jan 12
  • 42 posts

Posted 12 October 2012 - 06:08 AM #4

thanks for your reply Bob,
yes i know that we can set condition for "customer county" and set any shipping method to "free shipping" in promotions,
but in my case i want to apply free shipping to only those products for which Admin -> Products -> Products -> Click on Specific Product -> Shipping Properties -> Free Shipping check box is set.
and there isn't any condition that i can put for shipping check box after customer country's conditon.

 
  • pbannette
  • Senior Member
  • Members
  • Join Date: 09-Aug 07
  • 1036 posts

Posted 12 October 2012 - 09:55 AM #5

Yes, I see your problem.
I could never get the free shipping check box to work the way I wanted. I think once I checked it for a product, I got free shipping no matter what was in the cart and where it went.
What I did was to create a bogus supplier and assigned that supplier to the products I wanted to be free and forgot about the free shipping checkbox. Then made shipping methods for that supplier. I then could tell which ones were free by looking a the products assigned to that supplier.
Bob

Version CS-Cart 4.3.5


 
  • developer
  • Member
  • Members
  • Join Date: 02-Jan 12
  • 42 posts

Posted 15 October 2012 - 11:56 AM #6

I done this in my own way,
First i checked from where cs-cart apply free shipping to any product when you set checkbox in Admin -> Products -> Products -> Click on Specific Product -> Shipping Properties -> Free Shipping check box. Then i put another condition of country code with that,
I made changes in core/fn.cart.php

cs-cart calculates shipping via,
function fn_calculate_shipping_rates
in which it prepares package of shipping info of cart items from
function fn_prepare_package_info

i put country code's condition in 4 function,

function fn_get_products_cost,
function fn_get_products_weight,
function fn_get_products_amount,
function fn_get_products_packages (You need to change at 2 places in this function),
function fn_prepare_package_info

just put another condition with && for country,
Just Change
$product['free_shipping'] == 'Y'
To
($product['free_shipping'] == 'Y' && $cart['user_data']['b_country'] == 'AU')
where 'AU' is your country code.

Hope it helps someone. :-)

Update:
I also need to make change in
function fn_get_cart_product_data
i changed
if (($_pdata['free_shipping'] != 'Y' || AREA == 'A') && ($_pdata['is_edp'] != 'Y' || ($_pdata['is_edp'] == 'Y' && $_pdata['edp_shipping'] == 'Y'))) {
With
if ((($_pdata['free_shipping'] != 'Y' || $cart['user_data']['b_country'] != 'AU') || AREA == 'A') && ($_pdata['is_edp'] != 'Y' || ($_pdata['is_edp'] == 'Y' && $_pdata['edp_shipping'] == 'Y'))) {


 
  • tigerbabba
  • Member
  • Members
  • Join Date: 26-Apr 08
  • 257 posts

Posted 02 February 2013 - 03:19 PM #7

What's your Cs-Cart version ?
Currently using CS-Cart 4.x
Fortigate Firewalls

 
  • Tim Hensel
  • Junior Member
  • Members
  • Join Date: 01-Mar 11
  • 237 posts

Posted 02 February 2013 - 03:36 PM #8

What's your Cs-Cart version ?


Developer is using CS-Cart 3.x
- CS-Cart 2.2.5 Pro Store -