ElementAddForm.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace Muzich\CoreBundle\Form\Element;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolverInterface;
  6. class ElementAddForm extends AbstractType
  7. {
  8. private $name = null;
  9. public function buildForm(FormBuilderInterface $builder, array $options)
  10. {
  11. $builder->add('name', 'text', array(
  12. 'required' => true,
  13. 'error_bubbling' => true
  14. ));
  15. $builder->add('url', 'text', array(
  16. 'required' => true,
  17. 'error_bubbling' => true
  18. ));
  19. $builder->add('tags', 'hidden');
  20. $builder->add('need_tags', 'checkbox', array(
  21. 'required' => false,
  22. 'error_bubbling' => true
  23. ));
  24. }
  25. public function setName($name)
  26. {
  27. $this->name = $name;
  28. }
  29. public function getName()
  30. {
  31. if ($this->name)
  32. {
  33. return $this->name;
  34. }
  35. return 'element_add';
  36. }
  37. public function setDefaultOptions(OptionsResolverInterface $resolver)
  38. {
  39. $resolver->setDefaults(array(
  40. 'name' => '',
  41. 'url' => '',
  42. 'tags' => '',
  43. 'need_tags' => false,
  44. //'data_class' => 'Muzich\CoreBundle\Entity\Element'
  45. ));
  46. $resolver->setAllowedValues(array(
  47. 'need_tags' => array(true, false)
  48. ));
  49. }
  50. }