{html_options}{html_options} adalah
fungsi kustom
yang membuat grup html <select><option>
dengan data yang ditempatkan. Ia menangani item-item yang dipilihnya juga.
Nama AtributTipeDiperlukanDefaultDeskripsivaluesarrayYa, kecuali memakai atribut optionsn/aArray nilai untuk dropdownoutputarrayYa, kecuali memakai atribut optionsn/aArray output untuk dropdownselectedstring/arrayTidakemptyElemen opsi yang dipilihoptionsassociative arrayYa, kecuali memakai nilai dan outputn/aArray nilai asosiatif dan outputnamestringTidakemptyNama pilihan grup
Atribut yang dibutuhkan adalah
values dan output,
kecuali anda sebaliknya menggunakan options yang
dibagung.
Jika atribut opsional name disediakan, tag
<select></select> dibuat, sebaliknya
HANYA daftar <option> yang dibuat.
Jika yang nilai diberikan adalah array, ia akan memperlakukannya sebagai
html <optgroup>, dan menampilkan grup.
Rekursi didukung dengan <optgroup>.
Semua parameter yang tidak dalam daftar di atas dicetak sebagai pasangan
nama/nilai di dalam tag <select>. Diabaikan jika
name opsional tidak disediakan.
Semua output sesuai dengan XHTML.
Array asosiatif dengan atribut options
assign('myOptions', array(
1800 => 'Joe Schmoe',
9904 => 'Jack Smith',
2003 => 'Charlie Brown')
);
$smarty->assign('mySelect', 9904);
?>
]]>
Template berikut akan membuat daftar drop-down.
Perhatikan keberadaan atribut name yang membuat
tag <select>.
Output dari contoh di atas akan terlihat seperti:
]]>
Dropdown dengan array terpisah untukvalues dan
ouptut
assign('cust_ids', array(56,92,13));
$smarty->assign('cust_names', array(
'Joe Schmoe',
'Jane Johnson',
'Charlie Brown'));
$smarty->assign('customer_id', 92);
?>
]]>
Array di atas yang akan ditampilkan dengan template berikut (perhatikan
penggunaan fungsi php count() sebagai pengubah untuk menyetel
ukuran pilihan).
{html_options values=$cust_ids output=$cust_names selected=$customer_id}
]]>
Contoh di atas akan memperlihatkan:
]]>
Contoh database (misal ADODB atau PEAR)
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));
?>
]]>
Di mana sebuah template bisa seperti berikut. Perhatikan penggunaan pengubah
truncate.
{html_options options=$contact_types|truncate:20 selected=$contact.type_id}
]]>
Dropdown dengan <optgroup>
'Golf', 9 => 'Cricket',7 => 'Swim');
$arr['Rest'] = array(3 => 'Sauna',1 => 'Massage');
$smarty->assign('lookups', $arr);
$smarty->assign('fav', 7);
?>
]]>
Naskah di atas dan template berikut
akan memperlihatkan:
]]>
Lihat juga
{html_checkboxes}
dan
{html_radios}