html_checkboxes

Attribute NameTypeRequiredDefaultDescription
namestringNocheckboxname of checkbox list
valuesarrayYes, unless using options attributen/aan array of values for checkbox buttons
outputarrayYes, unless using options attributen/aan array of output for checkbox buttons
selectedstring/arrayNoemptythe selected checkbox element(s)
optionsassociative arrayYes, unless using values and outputn/aan associative array of values and output
separatorstringNoemptystring of text to separate each checkbox item
labelsbooleanNotrueadd <label>-tags to the output

html_checkboxes is a custom function that creates an html checkbox group with provided data. It takes care of which item(s) are selected by default as well. Required attributes are values and output, unless you use options instead. All output is XHTML compatible.

All parameters that are not in the list above are printed as name/value-pairs inside each of the created <input>-tags.

Example 8-6. html_checkboxes

index.php:

require('Smarty.class.php');
$smarty = new Smarty;
$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);
$smarty->display('index.tpl');


index.tpl:

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


index.php:

require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_checkboxes', array(
			1000 => 'Joe Schmoe',
			1001 => 'Jack Smith',
			1002 => 'Jane Johnson',
			1003 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');

index.tpl:

{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"}


OUTPUT: (both examples)

<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br />
<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />