{html_radios}

{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}