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