Nome do Atributo | Tipo | Obrigatório | Padrão | Descrição |
---|---|---|---|---|
values | array | Sim, a menos que usando atributos de options | n/a | uma matriz de valores para o menu dropdown |
output | array | Sim, a menos que usando atributos de options | n/a | uma matriz de saída para o menu dropdown |
selected | string/array | Não | empty | o elemento do options selecionado |
options | associative array | Sim, a menos que usando values e output | n/a | uma matriz associativa de output e output |
name | string | Não | empty | nome do grupo selecionado |
html_options é uma função personalizada que cria um grupo html option com os dados fornecidos. Ela está atenta de quais itens estão selecionados por padrão. Atributos obrigatórios são 'values' e 'output', a menos que você use options no lugar.
Se um valor dado é um array, ele será tratado como um OPTGROUP html, e mostrará os grupos. Recursividade é suportada pelo OPTGROUP. Todas as saídas são compatíveis com XHTML.
Se o atributo opcional name é dado, as tags <select name="groupname"></select> irão incluir a lista de opções dentro dela. Caso contrário apenas a lista de opções é gerada.
Todos os parâmetros que não estão na lista acima são exibidos como nome/valor dentro de <select>-tag. Eles são ignorados se o opcional name não é fornecido.
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 => 'Taniel Franklin', 1002 => 'Fernando Correa', 1003 => 'Marcelo Pereira', 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: (both examples) <select name=customer_id> <option value="1000">Taniel Franklin</option> <option value="1001" selected="selected">Fernando Correa</option> <option value="1002">Marcelo Pereira</option> <option value="1003">Charlie Brown</option> </select>