html_options
Nom attribut
Type
Requis
Defaut
Description
values
array
Oui, à moins que vous n'utilisiez
l'attribut options
n/a
un tableau de valeurs pour les listes
déroulantes
output
array
Oui, à moins que vous n'utilisiez
l'attribut options
n/a
Un tableau de libellés pour la liste
déroulante
selected
chaîne de caractères/tableau
Non
empty
Les éléments sélectionnés
options
Tableau associatif
Oui, à moins que vous n'utilisiez option
et values
n/a
Un tableau associatif valeur / libellé
name
chaîne de caractères
Non
empty
Nom du goupe d'options
html_options est une fonction utilisateur qui crée un groupe d'options
avec les données fournies. Elle prend en charge les éléments
sélectionnés par défaut. Les attributs requis sont values et output,
à moins que vous n'utilisiez options à la place.
Si la valeur donnée est un tableau, elle sera traitée comme un
OPTGROUP html, et affichée. La récursivité est supportée avec
OPTGROUP. La sortie est compatible XHTML.
Si l'attribut optionnel name est donné, les
balises <select name="groupname"></select> entoureront la
liste d'options.
Tous les paramètres qui ne sont pas dans la liste ci-dessus sont
affichés en tant que paires nom / valeur. Ils sont ignorés si
le paramètre optionnel name n'est pas donné.
html_options
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('id_client', array(1000,1001,1002,1003));
$smarty->assign('nom_client', array('Joe Schmoe','Jack Smith','Jane
Johnson','Charlie Brown'));
$smarty->assign('client_id', 1001);
$smarty->display('index.tpl');
index.tpl:
<select name=client_id>
{html_options values=$id_client selected=$client_id output=$nom_client}
</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('client_id', 1001);
$smarty->display('index.tpl');
index.tpl:
<select name=client_id>
{html_options options=$cust_options selected=$client_id}
</select>
SORTIE: (valable pour les deux exemples)
<select name=client_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>