Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

{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 AtributTipeDiperlukanDefaultDeskripsi
valuesarrayYa, kecuali memakai atribut optionsn/aArray nilai untuk dropdown
outputarrayYa, kecuali memakai atribut optionsn/aArray output untuk dropdown
selectedstring/arrayTidakemptyElemen opsi yang dipilih
optionsassociative arrayYa, kecuali memakai nilai dan outputn/aArray nilai asosiatif dan output
namestringTidakemptyNama 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.

Teladan 8-12. 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>.

{html_options name=foo options=$myOptions selected=$mySelect}

Output dari contoh di atas akan terlihat seperti:

<select name="foo">
<option label="Joe Schmoe" value="1800">Joe Schmoe</option>
<option label="Jack Smith" value="9904" selected="selected">Jack Smith</option>
<option label="Charlie Brown" value="2003">Charlie Brown</option>
</select>

Teladan 8-13. 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).

<select name="customer_id" size="{$cust_names|@count}">
   {html_options values=$cust_ids output=$cust_names selected=$customer_id}
</select>

Contoh di atas akan memperlihatkan:

<select name="customer_id">
    <option label="Joe Schmoe" value="56">Joe Schmoe</option>
    <option label="Jack Smith" value="92" selected="selected">Jane Johnson</option>
    <option label="Charlie Brown" value="13">Charlie Brown</option>
</select>

Teladan 8-14. 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.

<select name="type_id">
    <option value='null'>-- none --</option>
    {html_options options=$contact_types|truncate:20 selected=$contact.type_id}
</select>

Teladan 8-15. 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

{html_options name=foo options=$lookups selected=$fav}

akan memperlihatkan:

<select name="foo">
<optgroup label="Sport">
<option label="Golf" value="6">Golf</option>
<option label="Cricket" value="9">Cricket</option>
<option label="Swim" value="7" selected="selected">Swim</option>
</optgroup>
<optgroup label="Rest">
<option label="Sauna" value="3">Sauna</option>
<option label="Massage" value="1">Massage</option>
</optgroup>
</select>

Lihat juga {html_checkboxes} dan {html_radios}

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors