{html_radios}

    {html_radios}是一个定制函数,用来创建HTML无限的按钮组。它也可以处理缺省选择哪个项目。

属性名 类型 必需? 缺省 描述
namestringNoradio 无线电列表的名称
valuesarray 是,除非使用options属性 n/a 无线电按钮值的数组
outputarray 是,除非使用options属性 n/a 无线电按钮输出的数组
selectedstringNoempty 选中的无线电按钮元素
optionsassociative array 是,除非使用values和output n/a 值和输出的一个关联数组
separatorstringNoempty 分割每个无线电按钮项的文本字符串
assignstringNoempty 将无线电按钮标记赋值给一个变量而不是直接输出

例子8-16. {html_radios}的第一个例子

<?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);

?>

    而模板为:

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

例子8-17. {html_radios}的第二个例子

<?php

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

?>

    而模板为:

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

    上面两例都会输出:

<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 />

例子8-18. {html_radios}的数据库例子(如PEAR或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));

?>

    上例中从数据库中获得的变量可以由如下模板输出:

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

    参见{html_checkboxes}{html_options}