12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace ExtraDataBundle\EventListener;
- use Sonata\AdminBundle\Event\ConfigureEvent;
- use Symfony\Component\Form\Extension\Core\Type\TextareaType;
- use Symfony\Component\Translation\TranslatorInterface;
- class SonataAdminConfigureListener
- {
- /**
- * @var TranslatorInterface
- */
- private $translator;
-
- /**
- * @param TranslatorInterface $translator
- */
- public function __construct(TranslatorInterface $translator)
- {
- $this->translator = $translator;
- }
- /**
- * @param ConfigureEvent $event
- */
- public function addOptions(ConfigureEvent $event)
- {
- if ($event->getMapper()->has('extraData')) {
- $formMapper = $event->getMapper();
- $formMapper->add('extraData', TextareaType::class, array(
- 'required' => false,
- 'help' => $this->translator->trans('help.json_format', array(), 'ExtraDataBundle'),
- ));
- }
- }
- /**
- * @param ConfigureEvent $event
- */
- public function addTemplate(ConfigureEvent $event)
- {
- if ($event->getMapper()->has('extraData')) {
- $extraData = $event->getMapper()->get('extraData');
- $extraData->setTemplate('ExtraDataBundle:CRUD:extra_data_field.html.twig');
- $extraData->setOption('data', $event->getType());
- }
- }
- }
|