Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

Change shipping options to radio buttons instead of a dropdown box

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design
 
Thread Tools Search this Thread
  #1  
Old 11-21-2007, 04:40 PM
 
fractalspin fractalspin is offline
 

Advanced Member
  
Join Date: Jul 2005
Posts: 72
 

Default 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?
__________________
http://www.fractalspin.com
nerdy jewelry, geekcessories, bags, tshirts and other neat stuff

Xcart Version: 4.0.17, PHP: 4.3.11, MySQL server: 4.1.13-standard-log
Reply With Quote
  #2  
Old 11-23-2007, 04:16 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default 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'.
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #3  
Old 11-23-2007, 09:50 AM
 
fractalspin fractalspin is offline
 

Advanced Member
  
Join Date: Jul 2005
Posts: 72
 

Default 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}
__________________
http://www.fractalspin.com
nerdy jewelry, geekcessories, bags, tshirts and other neat stuff

Xcart Version: 4.0.17, PHP: 4.3.11, MySQL server: 4.1.13-standard-log
Reply With Quote
  #4  
Old 11-27-2007, 02:01 PM
 
fractalspin fractalspin is offline
 

Advanced Member
  
Join Date: Jul 2005
Posts: 72
 

Default Re: Change shipping options to radio buttons instead of a dropdown box

Is that the code you were referring to, Padraic?
__________________
http://www.fractalspin.com
nerdy jewelry, geekcessories, bags, tshirts and other neat stuff

Xcart Version: 4.0.17, PHP: 4.3.11, MySQL server: 4.1.13-standard-log
Reply With Quote
  #5  
Old 11-27-2007, 06:07 PM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default 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.
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #6  
Old 01-03-2008, 09:27 AM
 
tpl tpl is offline
 

Member
  
Join Date: Nov 2007
Posts: 19
 

Default 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.
__________________
Version 4.1.9
Reply With Quote
  #7  
Old 01-03-2008, 09:35 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default 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?
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #8  
Old 01-03-2008, 09:56 AM
 
tpl tpl is offline
 

Member
  
Join Date: Nov 2007
Posts: 19
 

Default 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}

__________________
Version 4.1.9
Reply With Quote
  #9  
Old 01-03-2008, 10:20 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default 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"}
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #10  
Old 01-03-2008, 10:27 AM
 
tpl tpl is offline
 

Member
  
Join Date: Nov 2007
Posts: 19
 

Default Re: Change shipping options to radio buttons instead of a dropdown box

pretty cool. thank you !!!
__________________
Version 4.1.9
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 03:28 PM.

   

 
X-Cart forums © 2001-2020