What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{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}