I want to make a custom form field in symfony2 named daterange, which will extends the default symfony date type form field and take date range(start date and end date) into two different text-box.
I want to make a custom form field in symfony2 named daterange , which
Share
Cause I don’t like twig template engine this example only for PHP templating
What you need is to make:
New
TestBundle\Form\Extension\Core\Type\DateRangeTypewhich extendsSymfony\Component\Form\AbstractTypeHere you should:
a. write your own getParent, getName, buildForm methods
b. getParent return ‘field’
c. getName return ‘daterange’
d. buildForm has
$builder->add('start', ...)->add('end', ...)->setAttribute('widget', 'daterange')Add it to the DI (config.yml as example)
services: form.type.daterange: class: TestBundle\Form\Extension\Core\Type\DateRangeType tags: - { name: form.type, alias: daterange }Create new widget for it in
TestBundle/Resources/views/Form/daterange_widget.html.phpyou can take date widget as example.
Src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/date_widget.html.phpAdd to config (config.yml as example)
framework: templating: form: resources: - 'TestBundle:Form'And for more widget customization as nefo_x said check form customization.