X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing design (https://forum.x-cart.com/forumdisplay.php?f=51)
-   -   Change shipping options to radio buttons instead of a dropdown box (https://forum.x-cart.com/showthread.php?t=35626)

fractalspin 11-21-2007 04:40 PM

Change shipping options to radio buttons instead of a dropdown box
 
I have had a lot of customers recently who want to cancel their order because the shipping cost is too high. It turns out they are not realizing they can change the shipping method since the options are hiding in the drop down box. I think I found the relevant code to chance in skin1/customer/main/cart_totals.tpl but I am not sure how to translate it into radio box format...

starts at line 83
Code:

<SELECT name="shippingid" onchange="document.cartform.submit()">
{section name=ship_num loop=$shipping}
<OPTION value="{$shipping[ship_num].shippingid}" {if $shipping[ship_num].shippingid eq $cart.shippingid}selected{/if}>{$shipping[ship_num].shipping|trademark:$insert_trademark:"alt"}{if $config.Appearance.display_shipping_cost eq "Y" and ($login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0)} ({include file="currency.tpl" value=$shipping[ship_num].rate}){/if}</OPTION>
{/section}
</SELECT>


What if I changed it to this:

Code:


<INPUT TYPE="radio" value="{$shipping[ship_num].shippingid}" {if $shipping[ship_num].shippingid eq $cart.shippingid}selected{/if}>{$shipping[ship_num].shipping|trademark:$insert_trademark:"alt"}{if $config.Appearance.display_shipping_cost eq "Y" and ($login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0)} ({include file="currency.tpl" value=$shipping[ship_num].rate}){/if}


Maybe? Or not?

balinor 11-23-2007 04:16 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
The shipping options use radio buttons by default for UPS (if it is the only method), so what you can do is simply change the {if} statement in the template for shipping display and get rid of the part that says 'IF UPS is turned on'.

fractalspin 11-23-2007 09:50 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
So in cart_totals.tpl, if I delete this will it work?
Code:

{if $active_modules.UPS_OnLine_Tools ne "" and $config.Shipping.realtime_shipping eq "Y" and $config.Shipping.use_intershipper ne "Y" and $current_carrier eq "UPS" and $force_delivery_dropdown_box ne "Y"}
{if $login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0}

<TABLE border="0" cellpadding="0" cellspacing="0">

<TR>

<TD valign="top"><FONT class="FormButton">{$lng.lbl_delivery}: </FONT>

<BR>

<TABLE border="0" cellpadding="1" cellspacing="0">

{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{else}onclick="document.cartform.submit()"{/if}></TD>

<TD{if $shipping[ship_num].shippingid eq $cart.shippingid} class="TableHead"{/if}>{$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" and ($login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0)} ({include file="currency.tpl" value=$shipping[ship_num].rate}){/if}</TD>

</TR>

{if $shipping[ship_num].shippingid eq $cart.shippingid and $shipping[ship_num].warning ne ""}

{assign var="warning" value=$shipping[ship_num].warning}

{/if}

{/section}

</TABLE>

</TD>

</TR>

</TABLE>

{if $warning ne ""}

<DIV align="right" class="ErrorMessage">{$warning}</DIV>

{/if}

<BR><BR>

{/if}



fractalspin 11-27-2007 02:01 PM

Re: Change shipping options to radio buttons instead of a dropdown box
 
Is that the code you were referring to, Padraic?

balinor 11-27-2007 06:07 PM

Re: Change shipping options to radio buttons instead of a dropdown box
 
Yea, that's the part....just change or remove the {if} statement having to do with UPS.

tpl 01-03-2008 09:27 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
can you post the code exactly. I tried removing the if statement, but am having no luck.

balinor 01-03-2008 09:35 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
4.1.9 is different, where in the checkout process are you looking?

tpl 01-03-2008 09:56 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
Here is the first part of code on the page.

Quote:

<div align="right">
{if $config.Shipping.disable_shipping ne "Y"}
{if $link_shipping eq "Y" and $cart.shippingid}
<font class="FormButton">{$lng.lbl_delivery}: </font>
{section name=ship_num loop=$shipping}
{if $shipping[ship_num].shippingid eq $cart.shippingid}
{if $change_shipping_link eq "Y"}<a href="cart.php?mode=checkout" class="ShippingMethod">{/if}{$shipping[ship_num].shipping|trademark:$insert_trademark:"alt"}{if $change_shipping_link eq "Y"}</a>{/if}{if $shipping[ship_num].warning ne ''}<br /><font class="ErrorMessage">{$shipping[ship_num].warning}</font>{/if}
{/if}
{/section}
<br /><br />
{else}
{if $login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0}
{if $active_modules.UPS_OnLine_Tools and $config.Shipping.realtime_shipping eq "Y" and $config.Shipping.use_intershipper ne "Y" and $show_carriers_selector eq "Y" and $is_ups_carrier_empty ne "Y" and $is_other_carriers_empty ne "Y"}
<font class="FormButton">{$lng.lbl_shipping_carrier}: </font>
{include file="main/select_carrier.tpl" name="selected_carrier" onchange="javascript: document.cartform.submit();"}
<br /><br />
{/if}
{/if}
{if $shipping_calc_error ne ""}
{$shipping_calc_service} {$lng.lbl_err_shipping_calc}<br />
<font class="ErrorMessage">{$shipping_calc_error}</font><br />
{/if}
{if $shipping eq "" and $need_shipping}
<font class="ErrorMessage">{$lng.lbl_no_shipping_for_loc ation}:</font><br />
{if $login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0}
{$userinfo.s_address}<br />
{if $userinfo.s_address_2}
{$userinfo.s_address_2}<br />
{/if}
{$userinfo.s_city}<br />
{$userinfo.s_statename}<br />
{$userinfo.s_countryname}<br />
{$userinfo.s_zipcode}
{else}
{$lng.lbl_anonymous}
{/if}
{if $login ne ""}
<br />
{include file="buttons/modify.tpl" href="register.php?mode=update&action=cart"}
{/if}
<hr noshade="noshade" size="1" width="50%" />
{/if}
{if $shipping ne "" and $need_shipping}
{if $arb_account_used}
{$lng.txt_arb_account_checkout_note}
<br />
{/if}{* $arb_account_used *}
{if $active_modules.UPS_OnLine_Tools ne "" and $config.Shipping.realtime_shipping eq "Y" and $config.Shipping.use_intershipper ne "Y" and $current_carrier eq "UPS" and $force_delivery_dropdown_box ne "Y"}
{if $login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0}
<table cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<font class="FormButton">{$lng.lbl_delivery}: </font>
<br />

<table cellpadding="1" cellspacing="0">
{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: 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}
</tr></table></td>
</tr>
{if $shipping[ship_num].shippingid eq $cart.shippingid and $shipping[ship_num].warning ne ""}
{assign var="warning" value=$shipping[ship_num].warning}
{/if}
{if $shipping[ship_num].warning ne ''}
<tr>
<td>&nbsp;</td>
<td class="SmallText">{$shipping[ship_num].warning}</td>
</tr>
{/if}
{/section}
</table>




{if $warning ne ""}
<div align="right" class="ErrorMessage">{$warning}</div>
{/if}
<br /><br />
{/if}
{else}{* $active_modules.UPS_OnLine_Tools *}
<font class="FormButton">{$lng.lbl_delivery}: </font>
<select name="shippingid" onchange="javascript: this.form.submit();">
{section name=ship_num loop=$shipping}
<option value="{$shipping[ship_num].shippingid}"{if $shipping[ship_num].shippingid eq $cart.shippingid} selected="selected"{/if}>
{$shipping[ship_num].shipping|trademark:$insert_trademark:"alt"}
{if $config.Appearance.display_shipping_cost eq "Y" and ($login ne "" or $config.General.apply_default_country eq "Y" or $cart.shipping_cost gt 0)} ({include file="currency.tpl" value=$shipping[ship_num].rate plain_text_message=1}){/if}
{if $shipping[ship_num].shipping_time ne ""} - {$shipping[ship_num].shipping_time}{/if}
</option>
{if $shipping[ship_num].shippingid eq $cart.shippingid and $shipping[ship_num].warning ne ""}
{assign var="warning" value=$shipping[ship_num].warning}
{/if}
{/section}
</select>
{if $warning ne ''}
<div align="right" class="ErrorMessage">{$lng.lbl_note}: {$warning}</div><br />
{/if}
{/if}
{elseif !$no_form_fields}
<input type="hidden" name="shippingid" value="0" />
{/if}

{include file="customer/main/dhl_ext_countries.tpl" onchange=true}

{/if}
{elseif !$no_form_fields}
<input type="hidden" name="shippingid" value="0" />
{/if}

{assign var="subtotal" value=$cart.subtotal}
{assign var="discounted_subtotal" value=$cart.discounted_subtotal}
{assign var="shipping_cost" value=$cart.display_shipping_cost}



balinor 01-03-2008 10:20 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
IT is this bit:

{if $active_modules.UPS_OnLine_Tools ne "" and $config.Shipping.realtime_shipping eq "Y" and $config.Shipping.use_intershipper ne "Y" and $current_carrier eq "UPS" and $force_delivery_dropdown_box ne "Y"}

Replace it with this instead and see if it works. MAKE A BACKUP FIRST!

{if $config.Shipping.use_intershipper ne "Y"}

tpl 01-03-2008 10:27 AM

Re: Change shipping options to radio buttons instead of a dropdown box
 
pretty cool. thank you !!!


All times are GMT -8. The time now is 07:24 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.