12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace ExtraDataBundle\EventListener;
- use Sonata\AdminBundle\Event\ConfigureEvent;
- 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')) {
- $ed = $formMapper->getFormBuilder()->get('extraData');
- $ed->getOptions()['required'] = false;
- $ed->getOptions()['label'] = $this->trans('form.label_extra_data');
- $ed->getOptions()['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');
- }
- }
|