{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>.
Пример 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 />'}
Пример 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 />
Пример 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}