Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2015, 16:11
hmedcab
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Smfony2 - FormEvent - Generar formularios dependientes

¡Hola!

Mirad, estoy atascado intentando hacer lo siguiente:
  • Tengo un formulario en que quiero que el usuario seleccione una provincia y municipio. Tengo hecha la base de datos doctrine con una relación ManyToOne y OneToMany para relacionar los municipios con una provincia.
  • Quiero que cuando el usuario seleccione una provincia, se llene un select option en el formulario con los municipios de esa provincia, y sólo de esa.

He estado leyendo el cookbook the symfony2, en donde dice 'How to dynamicallly modify forms using form events' (cómo modificar dinámicamente formularios usando los form events).

Está perfecto, todo muy bonito... pero estoy atascado en el primer paso :(


Código PHP:
 $builder->addEventListener(
            
FormEvents::PRE_SET_DATA,
            function (
FormEvent $event) {
                
$form $event->getForm();

                
// this would be your entity, i.e. SportMeetup
                
$data $event->getData();

                
$sport $data->getSport();
                
$positions null === $sport ? array() : $sport->getAvailablePositions();

                
$form->add('position''entity', array(
                    
'class'       => 'AppBundle:Position',
                    
'placeholder' => '',
                    
'choices'     => $positions,
                ));
            }
        ); 
No entiendo de dónde sale 'getSport()', me imagino que estará definido en la entidad Sport, pero no lo tengo muy claro... porque lo reemplazo por el equivalente en mi class y me da un error. La verdad es que me estoy volviendo un poco loco ya... y no he encontrado nada que me resolviese mis dudas con esto... sólo patéticos tutoriales en los que se dedican a traducir la documentación oficial de Symfony2... vaya personajes..

¿Alguien me podría dar algo de luz en este tema?

De verdad es que esto es desesperante... me gustaría poder ir a una escuela de Symfony2 y pagar lo que sea para que me enseñasen bien Symfony2.. es que así no se puede hacer nada serio.... llevo unos meses con un proyecto serio y es que ya me veo tirando la toalla...otra vez... :(

Un fuerte abrazo