I have a Blog type, and I want certain fields to be added to the form only if the user makes a specific selection in the selection field. I heard about EventListener, but I don't think there is a FormEvent that I can subscribe to so that the listener can track the select event.
How can i achieve this?
This is my BlogType:
namespace Blogger\BlogBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Blogger\BlogBundle\Form\EventListener\AddAuthorFieldSubscriber; class BlogType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title') ->add('blog') ->add('category', 'entity', array( 'class' => 'BloggerBlogBundle:Category', 'property' => 'name', ) ->add('onlyifdefaultcategory') ); } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Blogger\BlogBundle\Entity\Blog', 'cascade_validation' => true, )); } public function getName() { return 'blogger_blogbundle_blogtype'; } }
Vadym source share