free shipping to domestic addresses and not to international for specific products

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. [b]There is a nice article on how to create free shipping method [url=“CS-Cart Documentation — CS-Cart 4.15.x documentation”]CS-Cart Documentation — CS-Cart 4.15.x documentation

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 ?

anyone :?:

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

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.

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

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,


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

```<br />
<br />
just put another condition with && for country,<br />
Just Change<br />
```php
<br />
$product['free_shipping'] == 'Y'<br />

```<br />
To<br />
```php
<br />
($product['free_shipping'] == 'Y' && $cart['user_data']['b_country'] == 'AU')<br />

```<br />
where 'AU' is your country code.<br />
<br />
Hope it helps someone. <img src="upload://b6iczyK1ETUUqRUc4PAkX83GF2O.gif" class="bbc_emoticon" alt=":-)"><br />
<br />
Update:<br />
I also need to make change in<br />
```php
<br />
function fn_get_cart_product_data<br />

```<br />
i changed<br />
```php
<br />
if (($_pdata['free_shipping'] != 'Y' || AREA == 'A') && ($_pdata['is_edp'] != 'Y' || ($_pdata['is_edp'] == 'Y' && $_pdata['edp_shipping'] == 'Y'))) {<br />

```<br />
With<br />
```php
<br />
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'))) {<br />

What's your Cs-Cart version ?

[quote name='tigerbabba' timestamp='1359818372' post='154284']

What's your Cs-Cart version ?

[/quote]



Developer is using CS-Cart 3.x