{html_radios}

{html_radios} is a custom function that creates a HTML radio button group. It also takes care of which item is selected by default as well.

Attribute NameTypeRequiredDefaultDescription
namestringNoradioName of radio list
valuesarrayYes, unless using options attributen/aAn array of values for radio buttons
outputarrayYes, unless using options attributen/aAn array of output for radio buttons
selectedstringNoemptyThe selected radio element
optionsassociative arrayYes, unless using values and outputn/aAn associative array of values and output
separatorstringNoemptyString of text to separate each radio item
assignstringNoemptyAssign radio tags to an array instead of output

Example 8-16. {html_radios} first example

<?php

$smarty
->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array(
                              
'Joe Schmoe',
                              
'Jack Smith',
                              
'Jane Johnson',
                              
'Charlie Brown')
                              );
$smarty->assign('customer_id'1001);

?>

Where template is:

{html_radios name='id' values=$cust_ids output=$cust_names
       selected=$customer_id separator='<br />'}

Example 8-17. {html_radios} second example

<?php

$smarty
->assign('cust_radios', array(
                               
1000 => 'Joe Schmoe',
                               
1001 => 'Jack Smith',
                               
1002 => 'Jane Johnson',
                               
1003 => 'Charlie Brown'));
$smarty->assign('customer_id'1001);

?>

Where template is:

{html_radios name='id' options=$cust_radios
     selected=$customer_id separator='<br />'}

Both examples will output:

<label for="id_1000">
<input type="radio" name="id" value="1000" id="id_1000" />Joe Schmoe</label><br />
<label for="id_1001"><input type="radio" name="id" value="1001" id="id_1001" checked="checked" />Jack Smith</label><br />
<label for="id_1002"><input type="radio" name="id" value="1002" id="id_1002" />Jane Johnson</label><br />
<label for="id_1003"><input type="radio" name="id" value="1003" id="id_1003" />Charlie Brown</label><br />

Example 8-18. {html_radios} - Database example (eg PEAR or ADODB):

<?php

$sql 
'select type_id, types from contact_types order by type';
$smarty->assign('contact_types',$db->getAssoc($sql));

$sql 'select contact_id, name, email, contact_type_id '
        
.'from contacts where contact_id='.$contact_id;
$smarty->assign('contact',$db->getRow($sql));

?>

The variable assigned from the database above would be output with the template:

{html_radios name='contact_type_id' options=$contact_types
     selected=$contact.contact_type_id separator='<br />'}

See also {html_checkboxes} and {html_options}