Problema

Imprimir una etiqueta select con cada uno de sus elementos options usando los widgets de la clase sfForm. Además, hay que marcar como selected un determinado elemento y todo esto sin crear una clase sfForm.

Solución

En la acción nos encargamos de definir algunos elementos que nos harán falta como un array con las opciones, así como de crear el widget correspondiente.

// actions.class.php
public function executeIndex(sfWebRequest $request)
{
  $choices = array();
  $choices[2] = 'dos';
  $choices[3] = 'tres';
  $this->select_widget = new sfWidgetFormSelect(array('choices' => $choices);
}

Ya en la vista, lo único que habrá que hacer es mostrarlo, pasándole como primer argumento el name e id y en segundo lugar la clave de array $choices que queremos que marque como seleccionado:

// indexSuccess.php
<?php echo $select_widget->render('my_select',3); ?>

Compártelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Ping.fm
  • RSS
  • Twitter