SonataAdminConfigureListener.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace ExtraDataBundle\EventListener;
  3. use Sonata\AdminBundle\Event\ConfigureEvent;
  4. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  5. class SonataAdminConfigureListener
  6. {
  7. /**
  8. * @param ConfigureEvent $event
  9. */
  10. public function addOptions(ConfigureEvent $event)
  11. {
  12. if ($event->getMapper()->has('extraData')) {
  13. $formMapper = $event->getMapper();
  14. $formMapper->add('extraData', TextareaType::class, array(
  15. 'required' => false,
  16. 'help' => 'help.json_format',
  17. ), array(
  18. 'translation_domain' => 'ExtraDataBundle',
  19. )
  20. );
  21. }
  22. }
  23. /**
  24. * @param ConfigureEvent $event
  25. */
  26. public function addTemplate(ConfigureEvent $event)
  27. {
  28. if ($event->getMapper()->has('extraData')) {
  29. $extraData = $event->getMapper()->get('extraData');
  30. $extraData->setTemplate('ExtraDataBundle:CRUD:extra_data_field.html.twig');
  31. $extraData->setOption('data', $event->getType());
  32. $extraData->setOption('translation_domain', 'ExtraDataBundle');
  33. }
  34. }
  35. }