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:
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.
Example 8.8. 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>