Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

html_options

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>