html_options Nome Attributo Tipo Obbligatorio Default Descrizione values array sì, a meno che si usi l'attributo options nessuno array di valori per il menù a discesa output array sì, a meno che si usi l'attributo options nessuno array di output per il menù a discesa selected stringa/array no vuoto l'elemento/gli elementi selezionato/i options array associativo sì, a meno che si usino values e output nessuno array associativo di valori e output name stringa no vuoto nome del gruppo select html_options è una funzione utente che usa i dati forniti per creare un gruppo di opzioni, cioè di valori option per un menù a discesa (casella select). Si occupa anche di quale o quali valori devono essere preselezionati. Gli attributi obbligatori sono values e output, a meno che non usiate invece options. Se uno dei valori forniti è un array, verrà trattato come un gruppo di opzioni (OPTGROUP), e visualizzato di conseguenza. E' possibile creare gruppi ricorsivi (a più livelli). Tutto l'output generato è compatibile XHTML. Se viene fornito l'attributo opzionale name, la lista di opzioni verrà racchiusa con il tag <select name="groupname"></select>. In caso contrario verrà generata solo la lista di opzioni. Tutti i parametri non compresi nella lista qui sopra verranno stampati come coppie nome/valore nel tag <select>. Saranno ignorati se l'attributo name non è presente. html_options index.php: require('Smarty.class.php'); $smarty = new Smarty; $smarty->assign('cust_ids', array(1000,1001,1002,1003)); $smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Carlie Brown')); $smarty->assign('customer_id', 1001); $smarty->display('index.tpl'); index.tpl: <select name=customer_id> {html_options values=$cust_ids selected=$customer_id output=$cust_names} </select> index.php: require('Smarty.class.php'); $smarty = new Smarty; $smarty->assign('cust_options', array( 1001 => 'Joe Schmoe', 1002 => 'Jack Smith', 1003 => 'Jane Johnson', 1004 => 'Charlie Brown')); $smarty->assign('customer_id', 1001); $smarty->display('index.tpl'); index.tpl: <select name=customer_id> {html_options options=$cust_options selected=$customer_id} </select> OUTPUT: (per entrambi gli esempi) <select name=customer_id> <option value="1000">Joe Schmoe</option> <option value="1001" selected="selected">Jack Smith</option> <option value="1002">Jane Johnson</option> <option value="1003">Charlie Brown</option> </select>