123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?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 $translator
- */
- private $translator;
- /**
- * @param TranslatorInterface $translator
- */
- public function __construct(TranslatorInterface $translator)
- {
- $this->translator = $translator;
- }
- /**
- * @param ConfigureEvent $event
- */
- public function addOptions(ConfigureEvent $event)
- {
- $formMapper = $event->getMapper();
- if ($formMapper->has('extraData')) {
- $formMapper->add('extraData', null, [
- 'required' => false,
- 'label' => $this->trans('form.label_extra_data'),
- 'help' => $this->trans('help.json_format'),
- ]);
- }
- }
- /**
- * @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());
- $extraData->setOption('translation_domain', 'ExtraDataBundle');
- }
- }
- /**
- * @param string $message
- * @param array $options
- */
- public function trans($message, $options = [])
- {
- return $this->translator->trans($message, $options, 'ExtraDataBundle');
- }
- }
|