Chris,
I'm using the free estimator that I downladed from BCS. There is a loop in shipping_estimator.tpl that goes through the existing shipping methods in your store:
Quote:
{section name=ship_num loop=$shipping}
<tr>
<td width="5"{if $shipping[ship_num].shippingid eq $cart.shippingid} class="TableHead"{/if}>
<input type="radio" name="shippingid" value="{$shipping[ship_num].shippingid}" {if $shipping[ship_num].shippingid eq $cart.shippingid}checked="checked"{else}onclick="j avascript:{*if $shipping[ship_num].code eq "UPS"} document.getElementById('sc').value = 'UPS';{/if*} this.form.submit();"{/if} />
</td>
<td{if $shipping[ship_num].shippingid eq $cart.shippingid} class="TableHead"{/if} align="left">
{$shipping[ship_num].shipping|trademark:$insert_trademark}
{if $shipping[ship_num].shipping_time ne ""} - {$shipping[ship_num].shipping_time}{/if}
{if $config.Appearance.display_shipping_cost eq "Y" && ($login ne "" || $config.General.apply_default_country eq "Y" || $cart.shipping_cost gt 0)} ({include file="currency.tpl" value=$shipping[ship_num].rate}){/if}
</td>
</tr>
{if $shipping[ship_num].warning ne ''}
<tr>
<td> </td>
<td class="SmallText">{$shipping[ship_num].warning}</td>
</tr>
{/if}
{sectionelse}
...
|
I placed the if statement
Quote:
{if $shipping[ship_num].shippingid ne ""}
|
below the first line. I then closed the if statement before the {sectionelse} line.
So if there's some sort of loop, foreach statement, etc. that goes through your shipping methods, you can place some sort of if statement just inside the loop to suppress the methods that aren't valid in certain situations. In your case, it sounds like a value is appearing when the shipping method is NOT valid. So maybe an if statement that says if the name is FREE local delivery (or the ID is the ID for it) and the value eq "", include in the loop, otherwise don't.
I don't know if that will work or not. I can say that you should be able to solve the problem in a .tpl file and be able to avoid messing with PHP code.
I wish I could be of more help. Hopefully someone here will have an answer, especially since you'll be willing to share with other UK users if you get it working properly.
Jill