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:
Nombre del Atributo | Tipo | Requerido | Default | Descripción |
---|---|---|---|---|
values | array | Si, a menos que use el atributo options | n/a | una matriz de valores para el menu dropdown |
output | array | Si, a menos que use el atributo options | n/a | una matriz de salida para el menu dropdown |
selected | string/array | No | empty | los elemento(s) de la option selecionado(s) |
options | arreglo asociativo | Si, a menos que utilize valores y salida | n/a | una matriz asociativa de valores y salida |
name | string | No | empty | nombre del grupo seleccionado |
{html_options} es una función customizada que crea un grupo html <select><option> con los datos proporcionados. Este se encarga de cuidar cuales datos han sido selecionado por default. Los atributos son valores y salidas, a menos que usted utilice options en lugar de eso.
Si un valor es una matriz, este será tratado como un <optgroup> html, y mostrara los grupos. La recursión es soportada por <optgroup>. Todas las salidas son compatibles con XHTML.
Si el atributo opcional name es dado, las etiquetas <select name="groupname"></select> encapsularan la lista de opciones. De otra manera solo es generada la lista de opciones.
Todos los parámetros que no estan en la lista de arriba son exibidos como name/value-pairs dentro de las etiquetas <select>. Estas son ignoradas si la opcion name no es dada.
Example 8.10. {html_options}
Ejemplo 1:
<?php $smarty->assign('cust_ids', array(1000,1001,1002,1003)); $smarty->assign('cust_names', array( 'Joe Schmoe', 'Jack Smith', 'Jane Johnson', 'Charlie Brown')); $smarty->assign('customer_id', 1001); ?>
donde el template es:
<select name=customer_id> {html_options values=$cust_ids output=$cust_names selected=$customer_id} </select>
Ejemplo 2:
<?php $smarty->assign('cust_options', array( 1000 => 'Joe Schmoe', 1001 => 'Jack Smith', 1002 => 'Jane Johnson', 1003 => 'Charlie Brown') ); $smarty->assign('customer_id', 1001); ?>
donde el template es:
<select name=customer_id> {html_options options=$cust_options selected=$customer_id} </select>
Salida de ambos ejemplos de arriba:
<select name=customer_id> <option label="Joe Schmoe" value="1000">Joe Schmoe</option> <option label="Jack Smith" value="1001" selected="selected">Jack Smith</option> <option label="Jane Johnson" value="1002">Jane Johnson</option> <option label="Charlie Brown" value="1003">Charlie Brown</option> </select>
Example 8.11. {html_options} - Ejemplo con base de datos (eg PEAR o ADODB):
<?php $sql = 'select type_id, types from types order by type'; $smarty->assign('types',$db->getAssoc($sql)); $sql = 'select contact_id, name, email, type_id from contacts where contact_id='.$contact_id; $smarty->assign('contact',$db->getRow($sql)); ?>
Donde el template es:
<select name="type_id"> <option value='null'>-- none --</option> {html_options name="type" options=$types selected=$contact.type_id} </select>
vea también {html_checkboxes} y {html_radios}