już wymiękam... no nie mogę tego nigdzie znaleźć, co chcę zrobić .
Mam formularz w którym są jakieś tam pola i w nim są dwa wyjątkowe: categoria i podkategoria. Są one połączone z innymi dwoma tabelami. Teraz chcę zrobić tak, że jak wybieram najpierw kategorię, to przeładowuje mi się strona (ewentulanie asynchronicznie ajax) i ładuje dla tej wybranej kategorii odpowiedniego selecta z podkategoriami. Chodzi o to, że dane kategorie są w odpowiednich kategoriach i nie mogą wybrać byle jaką podkategorię .
Próbowałem tego: http://symfony.com/doc/current/cookbook/fo...dification.html
Ale nie widzę tutaj możliwości wrzucenia akcji onchage, ani przekazania argumentu do tych listenerów, bo muszę odpowiednie ID przekazać kategorii, by na postawie tego id zaciągnać odpowiednie kategorie.
Czy może ktoś budował taki formularz albo taki mechanizm i mógłby pomóc.
Ogólnie jak wywołuje jakiego kolwiek listenera czy to w formie:
$builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event){ // ... add a choice list of friends of the current application user });
czy w to formie
$factory = $builder->getFormFactory(); $builder->addEventListener( FormEvents::PRE_SET_DATA, function(FormEvent $event) use($user, $factory){ $form = $event->getForm(); 'class' => 'Acme\DemoBundle\Entity\User', 'multiple' => false, 'expanded' => false, 'property' => 'fullName', 'query_builder' => function(EntityRepository $er) use ($user) { // build a custom query, or call a method on your repository (even better!) }, ); // create the field, this is similar the $builder->add() // field name, field type, data, options $form->add($factory->createNamed('friend', 'entity', null, $formOptions)); } );
Zawsze mam komunikat jakby nie działał ten lister jakby go nie było:
FatalErrorException: Error: Class 'Backend\CmsBundle\Form\FormEvents' not found in C:\wamp\www\rw\src\Backend\CmsBundle\Form\PagesType.php line 30