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 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>