Имам тип Блог и искам определени полета да се добавят към формуляра само ако потребителят направи определен избор в полето избор. Чувал съм за EventListener, но не мисля, че има FormEvent, за който мога да се абонирам, така че слушателят да може действително да проследи избраното събитие.
Как мога да постигна това?
Това е моят 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';
}
}