Shipping method to appear based on a specific dollar amount.

I would like to be able to offer a shipping method only if a certain dollar amount has been reached.



example: If a customer has $1200.00 in their shopping cart, they will see an option (shipping method) to click that says “Contact me with my best rate quote”. If they do not reach the $1200.00 amount, the option will not appear and only the standard shipping options appear.



Has anybody done this?



It seems that I can only do this based on weight limits.



2nd question: Can I make no price appear when shipping method is calculated? If I enter a zero price amount in the rate value box for cost dependency, “Free Shipping” appears.

I forgot to tell you I am not using real time rate calculation.



Thanks all. I appreciate all feed back as usual.

[quote name=‘jimmyod’ timestamp=‘1349378985’ post=‘146373’]

I would like to be able to offer a shipping method only if a certain dollar amount has been reached.



example: If a customer has $1200.00 in their shopping cart, they will see an option (shipping method) to click that says “Contact me with my best rate quote”. If they do not reach the $1200.00 amount, the option will not appear and only the standard shipping options appear.



Has anybody done this?



It seems that I can only do this based on weight limits.



2nd question: Can I make no price appear when shipping method is calculated? If I enter a zero price amount in the rate value box for cost dependency, “Free Shipping” appears.

I forgot to tell you I am not using real time rate calculation.



Thanks all. I appreciate all feed back as usual.

[/quote]

Hi there!



You cannot make this by default, but with a little template file modification, it can be done :)

Please note, that my solution is a very very fast, but not elegant!



In the /skins/YOURSKIN/customer/views/checkout/components/shipping_rates.tpl file find this content (near line 134):

<br />
   <p><br />
	<input type="radio" class="valign" name="shipping_ids[{$_suppliers_ids}]" value="{$shipping_id}" id="sh_{$shipping_id}" {if $cart.shipping.$shipping_id}checked="checked"{/if} />&nbsp;<label for="sh_{$shipping_id}" class="valign">{$s_rate.name} {if $s_rate.delivery_time}({$s_rate.delivery_time}){/if}  - {if $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.rates|@array_sum}{if $s_rate.inc_tax} ({if $s_rate.taxed_price && $s_rate.taxed_price != $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.taxed_price class="nowrap"} {/if}{$lang.inc_tax}){/if}{else}{$lang.free_shipping}{/if}</label><br />
   </p><br />

```<br />
and replace with:<br />
```php
<br />
   {if $cart.total>1200 && $shipping_id==6}<br />
							<p><br />
	<input type="radio" class="valign" name="shipping_ids[{$_suppliers_ids}]" value="{$shipping_id}" id="sh_{$shipping_id}" {if $cart.shipping.$shipping_id}checked="checked"{/if} />&nbsp;<label for="sh_{$shipping_id}" class="valign">{$s_rate.name} {if $s_rate.delivery_time}({$s_rate.delivery_time}){/if}  - {if $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.rates|@array_sum}{if $s_rate.inc_tax} ({if $s_rate.taxed_price && $s_rate.taxed_price != $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.taxed_price class="nowrap"} {/if}{$lang.inc_tax}){/if}{else}{$lang.free_shipping}{/if}</label><br />
							</p><br />
						{elseif $shipping_id!=6}<br />
							<p><br />
	<input type="radio" class="valign" name="shipping_ids[{$_suppliers_ids}]" value="{$shipping_id}" id="sh_{$shipping_id}" {if $cart.shipping.$shipping_id}checked="checked"{/if} />&nbsp;<label for="sh_{$shipping_id}" class="valign">{$s_rate.name} {if $s_rate.delivery_time}({$s_rate.delivery_time}){/if}  - {if $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.rates|@array_sum}{if $s_rate.inc_tax} ({if $s_rate.taxed_price && $s_rate.taxed_price != $s_rate.rates|@array_sum}{include file="common_templates/price.tpl" value=$s_rate.taxed_price class="nowrap"} {/if}{$lang.inc_tax}){/if}{else}{$lang.free_shipping}{/if}</label><br />
							</p><br />
						{/if}<br />

```<br />
You can see, that in my case, the special shipping mode has the id 6. If your shipping method has another id, you have to change this! (: I said, it is not elegant <img src="upload://rA9Qa8gnUPZzRZRdI8kt3dpjkrs.png" class="bbc_emoticon" alt=":)"><br />
<br />
Remove displaying the rate price is also here, I can send another code for you.

Thanks. That code worked.