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>