src/AdminBundle/Admin/Vidi/MainSliderAdmin.php line 13

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\Vidi;
  3. use AdminBundle\Admin\BaseAdmin;
  4. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  8. use Sonata\MediaBundle\Form\Type\MediaType;
  9. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  10. class MainSliderAdmin extends BaseAdmin
  11. {
  12.     /**
  13.      * @param DatagridMapper $datagridMapper
  14.      * @return void
  15.      */
  16.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  17.     {
  18.         $datagridMapper->add('id');
  19.         $datagridMapper->add('title_ua');
  20.         $datagridMapper->add('title_ru');
  21.         $datagridMapper->add('active');
  22.     }
  23.     /**
  24.      * @param RouteCollectionInterface $collection
  25.      * @return void
  26.      */
  27.     protected function configureRoutes(RouteCollectionInterface $collection): void
  28.     {
  29.         $collection->remove('delete');
  30.     }
  31.     /**
  32.      * @param ListMapper $list
  33.      * @return void
  34.      */
  35.     protected function configureListFields(ListMapper $list): void
  36.     {
  37.         $list
  38.             ->addIdentifier('id')
  39.             ->add('title_ua',null, ['label' => 'Заголовок UA'])
  40.             ->add('title_ru',null, ['label' => 'Заголовок RU'])
  41.             ->add('position'null, ['label' => 'Порядок''editable' => true])
  42.             ->add('active','choice', ['label' => 'Активний''editable' => true'choices' => [
  43.                 => 1,
  44.                 => 0
  45.             ]])
  46.             ->add('_action''actions', [
  47.                 'label' => 'Действия',
  48.                 'actions' => [
  49.                     'edit' => []
  50.                 ]
  51.             ]);
  52.     }
  53.     /**
  54.      * @param FormMapper $form
  55.      * @return void
  56.      */
  57.     protected function configureFormFields(FormMapper $form): void
  58.     {
  59.         $form
  60.             ->add('title_ua'null, ['label' => 'Заголовок UA''required' => true])
  61.             ->add('title_ru'null, ['label' => 'Заголовок RU''required' => true])
  62.             ->add('url'null, ['label' => 'Посилання''required' => true])
  63.             ->add('position'null, ['label' => 'Порядок''required' => true])
  64.             ->add('active'ChoiceType::class, [
  65.                 'label' => 'Активний',
  66.                 'choices' => [01]
  67.             ])
  68.             ->add('image'MediaType::class, [
  69.                     'label' => 'Зображення',
  70.                     'required' => true,
  71.                     'provider' => 'sonata.media.provider.image',
  72.                     'context'  => 'dc_site'
  73.                 ])
  74.             ->add('image_mobile'MediaType::class, [
  75.                 'label' => 'Зображення для мобільних пристроїв',
  76.                 'required' => true,
  77.                 'provider' => 'sonata.media.provider.image',
  78.                 'context'  => 'dc_site'
  79.             ])
  80.             ->end();
  81.     }
  82. }