9 de mayo de 2009

sfWidgetFormSelect Double List - Listas Dosbles en Symfony


Actualmente estoy trabajando en un proyecto en el que utilizamos Symfony 1.2 como framework para PHP.

Entre muchas de las cosas que hace symfony está la de creación de formularios mediante clases definidas en función de nuestro modelo de datos, cosa que acelera mucho el desarrollo. Esto formularios completamente modificables y configurables. Si bien al principio puede ser algo tedioso luego facilita mucho las tareas de control de errores y de actualización de datos en la base de datos.

Entre los elementos de un formulario que nos podemos encontrar están los Select y dentro de los Select, podríamos querer las listas dobles que nos permitan mover información de una a otra lista. Aquí podrán encontrar como realizar la configuración básica de este widget para formulario de symfony.

Como verán se les agrega automaticamente los nombres de associated y unassociated que como es lógico queremos cambiar. Pero no es tarea fácil!! Abajo les dejo el codigo necesario para configurar todos los aspectos necesarios para dejar nuestro sfWidgetFormSelectDoubleList tal y como lo deseamos:






Como ven tampoco es muy dificil, pero en la documentacion de symfony no viene definido claramente. Para ser exactos hay que leer el codigo del widget doublelist para encontrar lo que deseamos. Espero que les sea de ayuda y les ahorre tiempo.

3 comentarios:

adrianrz dijo...

Hola Ego,
Primero agradecerte el post, me allanó el camino en el desarrollo q estoy haciendo.

Para completar el post aporto algo casi obvio pero necesario: Cambiar el label al combo que en este ejemplo y por defecto quedaría: 'areas_interes'
Con esta linea lo cambias a 'Areas de Interés':
$this->widgetSchema->setLabel('areas_interes', 'Areas de Interés');

Saludos desde Argentina

Adrián

Mr. Ed dijo...

Hola Adrián, lamento el retraso pero no sé por que no me están llegando los comentarios al email.

Viene al pelo para completarlo, gracias.

Me alegro que te haya servido.

Saludos!

Naty dijo...

Muy buen post!! Yo tambien buscaba como cambiar esto, y ahora lo pude solucionar. Gracias!!