{html_radios} является пользовательской функцией, которая создает группу радиокнопок в HTML по указанной информации. Также она обеспечивает выбор радиокнопки по умолчанию. Параметры values и output являются обязательными, если не указан атрибут options. Весь вывод идет в формате XHTML.
| Имя атрибута | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| name | string | Нет | radio | название элементов выбора |
| values | массив | Да, если не указан атрибут options | n/a | массив значений элементов выбора |
| output | массив | Да, если не указан атрибут options | n/a | массив названий элементов выбора |
| checked | string | Нет | пусто | Значение выбранного элемента |
| options | ассоциативный массив | Да, если не указаны атрибуты values и output | n/a | ассоциативный массив значений и названий элементов выбора |
| separator | string | Нет | пусто | текст, разделяющий элементы выбора |
| assign | string | Нет | пусто | сохраняет тэги radio в массив, вместо вывода в шаблон |
Все параметры, которые не указаны в списке, выводятся в виде пар name/value в каждом созданном тэге <input>.
Example 8.14. {html_radios} - пример №1
<?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 />'}
Example 8.15. {html_radios} - пример №2
<?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 />
Example 8.16. {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}