Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

free shipping


derekg22

Recommended Posts

Hi guys,

 

I'm getting a real headache over this.

 

It seems that in the "Shipping Zone" drop down, it's looking at my Tax Zones.. is this right?

 

The only one in there is Florida, and we're a UK Based company.

 

Surely this should be easy? We want free shipping over 25 pounds in the UK only and standard shipping for the rest of the world.

 

Please say someone can help me solve this?

 

Ben

Link to comment
Share on other sites

Hi guys,

 

I'm getting a real headache over this.

 

It seems that in the "Shipping Zone" drop down, it's looking at my Tax Zones.. is this right?

 

The only one in there is Florida, and we're a UK Based company.

 

Surely this should be easy? We want free shipping over 25 pounds in the UK only and standard shipping for the rest of the world.

 

Please say someone can help me solve this?

 

Ben

 

make a new tax zone with just the UK. once inside that new UK zone, make insert again and set to "all zones". then set your shipping zone and you should be all set to make sure the free shipping option doesn't show for out of UK orders.

Link to comment
Share on other sites

make a new tax zone with just the UK. once inside that new UK zone, make insert again and set to "all zones". then set your shipping zone and you should be all set to make sure the free shipping option doesn't show for out of UK orders.

 

Here's my problem.. When I add products, for tax class I leave it as --none-- is that why the zone option won't work for me on free shipping?

 

Here's what I did, after reading your reply:

 

1. Went to Locations/Taxes >> Tax Zones

2. Created one called "United Kingdom"

3. Entered that zone.

4. Pressed Insert and made Country: United Kingdom >> Zone: United Kingdom

5. Pressed Insert again and made Country: All Countries >> Zone: All Zones

 

Is this correct? Because the free shipping still isn't working!

 

Pleeease help :)

 

B

Link to comment
Share on other sites

Here's my problem.. When I add products, for tax class I leave it as --none-- is that why the zone option won't work for me on free shipping?

 

Here's what I did, after reading your reply:

 

1. Went to Locations/Taxes >> Tax Zones

2. Created one called "United Kingdom"

3. Entered that zone.

4. Pressed Insert and made Country: United Kingdom >> Zone: United Kingdom

5. Pressed Insert again and made Country: All Countries >> Zone: All Zones

 

Is this correct? Because the free shipping still isn't working!

 

Pleeease help :)

 

B

 

did you go back to the modules >> shipping >> freeshipping and set the shipping zone to your new zone?

 

also you might want to delete any tax zones you're not using.

Edited by NimaP
Link to comment
Share on other sites

did you go back to the modules >> shipping >> freeshipping and set the shipping zone to your new zone?

 

also you might want to delete any tax zones you're not using.

 

I did indeed and it's not working.. it's not good, cos my boss is on my case to make this work :/

Link to comment
Share on other sites

OK, I ran the sql from the above contrib. It still didn't work, but I figured out why.

 

After installing the above contrib, open /catalog/includes/modules/shipping/freeamount.php

 

Line 45 & 46 look like this:

 

//		  } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
	  } elseif ($check['zone_country_id'] == $order->delivery['country']['id']) {

 

I changed it to this:

 

		  } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
//		} elseif ($check['zone_country_id'] == $order->delivery['country']['id']) {

 

Everything seems to be working ok, but make sure you test it out first! (Edit) Also, make sure you go in to the admin tool and assign Free Amount Shipping to the zone that is created!

 

Brian Christensen

 

Can anybody tell me how to "run this statement in your osC Database?" I've got the free shipping with minimum order contribution set, but I need to get it set for this zone.

 

Thanks in advance.

Link to comment
Share on other sites

  • 2 months later...

This code is working great for my shop, but it doesn't fit on the width.. It doesn't take the 100% of the width and i don't know how to fix it.. I tried to use <tr><td colspan="5"> but it din't work..

look a picture :

width.jpg

 

look my code and if you can help me ... PLEEEASE :/ :

<?php
/*
 $Id: (advanced) shopping_cart.php,v 1.1 2005/08/31 beer monster Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART);
?>
<!-- shopping_cart //-->
<script type="text/javascript" src="includes/boxes/rollovers.js"></script>
<script type="text/javascript">
<!--
function decrement(index) {
if(document.forms["cart_box"].elements["cart_quantity[]"][index].value >1) {
  document.forms["cart_box"].elements["cart_quantity[]"][index].value--;
  document.cart_box.submit();
}
}

function increment(index) {
  document.forms["cart_box"].elements["cart_quantity[]"][index].value++;
  document.cart_box.submit();
}

function mark(pid) {
  document.forms["remove_product"].elements["cart_delete[]"][0].value=pid;
  document.forms["remove_product"].elements["products_id[]"][0].value=pid;
  document.remove_product.submit();
}

var sURL = document.URL.toString();
if (sURL.indexOf("?") > 0){
urlsplitter = '';
} else {
urlsplitter = '?';
}
document.write('<form ');
document.write(' name="remove_product" ');
document.write(' action="' + document.URL + urlsplitter + '&action=update_product"');
document.write(' method="post">');
//one element is not an array so add 2 of each!
document.write('<input type="hidden" name="products_id[]">');
document.write('<input type="hidden" name="cart_delete[]">');
document.write('<input type="hidden" name="products_id[]">');
document.write('<input type="hidden" name="cart_delete[]">');
document.write('</form>');

document.write('<form ');
document.write(' name="cart_box" ');
document.write(' action="' + document.URL + urlsplitter + '&action=update_product"');
document.write(' method="post">');
  //-->
</script>

<body onLoad="MM_preloadImages('images/btn-up.gif','images/btn-dn.gif','images/btn-up-ov.gif', 'images/btn-dn-ov.gif')"></body>
<tr>
 <td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => BOX_HEADING_SHOPPING_CART);
 new infoBoxHeading($info_box_contents, true, true, tep_href_link(FILENAME_SHOPPING_CART));

 if ($cart->count_contents() > 0) {
$info_box_contents = array();
$any_out_of_stock = 0;
$products = $cart->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
// Push all attributes information in an array
  if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
	while (list($option, $value) = each($products[$i]['attributes'])) {
	  echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
	  $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix
								  from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
								  where pa.products_id = '" . $products[$i]['id'] . "'
								   and pa.options_id = '" . $option . "'
								   and pa.options_id = popt.products_options_id
								   and pa.options_values_id = '" . $value . "'
								   and pa.options_values_id = poval.products_options_values_id
								   and popt.language_id = '" . $languages_id . "'
								   and poval.language_id = '" . $languages_id . "'");
	  $attributes_values = tep_db_fetch_array($attributes);

	  $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];
	  $products[$i][$option]['options_values_id'] = $value;
	  $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];
	  $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];
	  $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];
	}
  }
}

//Build the infobox...
for ($i=0, $n=sizeof($products); $i<$n; $i++) {

  $cur_row = sizeof($info_box_contents);

 if ((tep_session_is_registered('new_products_id_in_cart')) && ($new_products_id_in_cart == $products[$i]['id'])) {
   $style_text = '<span class="newItemInCart">';
 } else {
   $style_text ='<span class="infoBoxContents">';
 }

//Product Details First...
  $products_name = '  <tr>' .
 // uncomment this line to get micro thumbnails!					 '	 <td><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], '30') . ' </a></td>' .
				   '	<td colspan="4" class="infoBoxContents" valign="top"> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">'  . $style_text . $products[$i]['name'] . '</span></a>';

//--Add any attributes...
  if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
	reset($products[$i]['attributes']);
	while (list($option, $value) = each($products[$i]['attributes'])) {

	  $products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>';
	}
  }

  $products_name .= '	</td>' .
					'  </tr>';


//Now build the Quantity form...
  //--Make sure we have a form array...one element is not an array and
  //--javascript doesn't like elements with [] so add some extra fields if there is only one product in the cart!
  if (sizeof($products)==1){
	 $j =$i+1;
	 $extra_elements = tep_draw_hidden_field('cart_quantity[]', $products[$i]['quantity']) . tep_draw_hidden_field('products_id[]', $products[$i]['id']);
  } else {
	 $j =$i;
	 $extra_elements = '';
  }

  $products_form ='	<tr>' .
				 '	  <td>Qty </td>' .
				 '	  <td> ' . $extra_elements . tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'class="quantitybox"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']) . '</td>' .
				 '	  <td><a href="java script:void(increment('. $j . '));" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'document.up' . $i . '\',\'document.up' . $i . '\',\'images/btn-up-ov.gif\')" ><img name="up' . $i . '" src="images/btn-up.gif" border="0" ></a><br><a href="java script:void(decrement('. $j . '));" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'document.dn' . $i . '\',\'document.dn' . $i . '\',\'images/btn-dn-ov.gif\')" ><img name="dn' . $i . '" src="images/btn-dn.gif" border="0" ></td>' .
				 '	  <td width="100%" align="right"><b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b></td>' .
				 '	</tr>'.
				 '	<tr><td colspan="5" align="right" width="100%" class="infoBoxContents"><a href="java script:void(mark(\'' . $products[$i]['id'] . '\'));"><span class="removeProduct">' . TABLE_HEADING_REMOVE . ' <img src="images/remove.gif" border="0" height="8" width="8"> </span></a></td></tr>' .
				 '	<tr><td colspan="5" width="100%">' . tep_draw_separator('pixel_silver.gif') . '</td></tr>';

  $cart_contents .= $products_name . $products_form;
}

//Finally, add the total...
//--If we are already at the checkout, don't show the checkout button!
  if (preg_match("/checkout/", $PHP_SELF)) {
 $co_link = '';
  } else {
 $co_link = '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout_small.gif', IMAGE_BUTTON_CHECKOUT) . '</a>';
  }

  $total = '  <tr height="20">' .
		   '	<td colspan="3" align"left">' . $co_link . '</td>' .
		   '	<td colspan="1" align="right" width="100%" class="infoBoxContents"><b>' . $currencies->format($cart->show_total()) . '</b></td>' .
		   '  </tr>';

  $cart_contents .= $total;

 $info_box_contents = array();
 $info_box_contents[] = array('text' => $cart_contents);

// BEGIN JS Amount Till Free Shipping
 $free_shipping_mount = 150; 
  if ($cart->count_contents() > 0) {

	  if ($cart->show_total() < $free_shipping_mount) {
			   $info_box_contents[] = array('text' => tep_draw_separator());  
			   $info_box_contents[] = array('align' => 'center',
							   'text' => '<span class="freeship2">' . BOX_SHIPPING_CART_FREE_SHIPPING . $currencies->format($free_shipping_mount) . '</span>');
				$info_box_contents[] = array('align' => 'left',
										 'text' =>  '<span class=freeship2>' . BOX_SHIPPING_CART_LEFT_TO_QUALIFY . '</span><br><span class=freeship>' . $currencies->format($free_shipping_mount - $cart->show_total()) . '</span>');							 							 

 } else if ($cart->show_total() > $free_shipping_mount) {
				  $info_box_contents[] = array('text' => tep_draw_separator());   
				  $info_box_contents[] = array('align' => 'left',
										 'text' =>  '<span class=freeship>' . BOX_SHIPPING_CART_QUALIFIES_FREE_SHIPPING . '</span>');							 							 
  }	
 }  
 // END JS Amount Till Free Shipping

 new cartBox($info_box_contents);

 } else {
 new infoBox(array(array('text' => BOX_SHOPPING_CART_EMPTY)));
 }
?>
</form>

 </tr>
</td>
<!-- shopping_cart_eof //-->

I am Maintaining :

Product_Short_Description (i added it on specials.php and in shopping_cart.php)

City Shipping Rates With Admin (fixed the error that was giving wrong total shipping charges)

I had Created :

UTF bug fix on standard reviews system (admin & block)

Corrupted character on mysql with utf-8

Link to comment
Share on other sites

Can anybody tell me how to "run this statement in your osC Database?" I've got the free shipping with minimum order contribution set, but I need to get it set for this zone.

 

Thanks in advance.

 

I need to know that too. I can't figure out what and where my osC Database is.. ??

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

When a customer does not reach the minimum I would like the show a message that says: "You can spend $x more to get free shipping" instead of "You get free shipping if you spend $x"

 

The $x should be MODULE_SHIPPING_FREEAMOUNT_AMOUNT - $cart_total. But I do not know how to do this in php.

 

Any help?

 

Thanks

Link to comment
Share on other sites

  • 2 months later...

Hello, this nice contribution works great.

 

How can I remove the "or more with a maximum package weight of 100 lbs" from displaying?

Free shipping only for an order of $50.00 or more with a maximum package weight of 100 lbs

 

My store sells dvd's, the weight is not a issue with shipping. It looks more professional without the weight displaying.

Link to comment
Share on other sites

Hi, I just installed this module, but I'm not seeing it show up on my checkout_shipping.php page...

 

I am using this version: Free Shipping w/ Minimum Amount3.5e-b

Ran the US Lower 48 SQL statement in update for us and canada ship zones

And configured the module in admin, selecting the Lower 48

I am also using a tax zone for orders placed in Rhode Island. This is the only other Tax Zone in my list.

 

But when I checkout, I don't see the free shipping option.

 

I'm also using UPS and Zone Based Express Shipping Rates, which do show up. I turned off the OSC Free Shipping option in the Order Total Section.

 

I'm stumped. Can anybody offer suggestions of what might be causing this to not work?

 

Thanks,

Janet

Link to comment
Share on other sites

  • 4 weeks later...

Do you HAVE to have zones for this to work? I do not have any set just now and although I have everything turned on on admin, nothing ever shows up on the shopping cart or checkout pages.

 

Just set up a tax zone for every country, every zone named Everywhere. Set the zone in the free shipping module to Everywhere. Still nothing.

 

Oh, does this contrib. work with RC2a? A lot of them don't without some fooling around which I am NOT good at.

 

Thanks for any help.

Edited by Desertsky
Link to comment
Share on other sites

I am having the same issues!!! I dont have any zone selected and I am stuck at "checkout_shipping.php" page and doesn't go anywhere!

 

"Shipping Method

This is currently the only shipping method available to use on this order."

 

That's all that shows there? Any help would be greatly appreciated

Link to comment
Share on other sites

Is there any way to configure free shipping for just one city and not the whole state or zone?? Maybe using ZIP code?? Does anyone know?

 

I'd also like to know the answer to this issue.

Link to comment
Share on other sites

Hello I installed

Freeamount3.5e

And set free shipping it to true with minimum 100 amount but it's not showing up on the page as one of the options when 100 amount is reached.

 

Is there something else i need to do?

Link to comment
Share on other sites

  • 2 weeks later...

It's not showing up for me either. The module is installed in admin, with free shipping for orders of $150 or more, but the normal shipping options are the only ones showing for the order.

Link to comment
Share on other sites

I had the same problem. I was not able to see the free shipping option. I finally got it to work by changing the SORT ORDER.

Make sure that the sort order of every shipping option is different. Else it will not show up correctly

 

Hope this helps you

 

It's not showing up for me either. The module is installed in admin, with free shipping for orders of $150 or more, but the normal shipping options are the only ones showing for the order.
Link to comment
Share on other sites

I had the same problem. I was not able to see the free shipping option. I finally got it to work by changing the SORT ORDER.

Make sure that the sort order of every shipping option is different. Else it will not show up correctly

 

Hope this helps you

 

I give that a shot. Thanks!!!

Link to comment
Share on other sites

Ok, that worked. But I'm not sure if I like it. I don't like the other shipping options showing if the order is over my minimum for free shipping, I only want the free shipping option to show.

 

Does anyone know how to make that happen?

Link to comment
Share on other sites

  • 1 year later...

Have installed Free Shipping w/ Minimum Amount and it is working just fine - except now the client actually wants to add a $4 handling fee to any "Free Shipping" order. Can someone suggestion a way to do this?

 

And 2nd he also wants to offer the option of upgrading to Fed Ex home delivery for an additional $5. (only if the free shipping has kicked in) Can anyone help me with this?

 

Always appreciate the help on this board - you folks are so responsive, I hope you can help on these requests!!

 

Sue

Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...