src/AdminBundle/Admin/References/VehicleRecommendGroupAdmin.php line 16

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\References;
  3. use AdminBundle\Admin\BaseAdmin;
  4. use Exception;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Route\RouteCollection;
  8. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  9. use Sonata\MediaBundle\Form\Type\MediaType;
  10. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextType;
  12. class VehicleRecommendGroupAdmin extends BaseAdmin
  13. {
  14.     /**
  15.      * @param RouteCollection $collection
  16.      */
  17.     protected function configureRoutes(RouteCollectionInterface $collection): void
  18.     {
  19.         $collection->remove('view');
  20.     }
  21.     /**
  22.      * @param FormMapper $formMapper
  23.      * @throws Exception
  24.      */
  25.     protected function configureFormFields(FormMapper $formMapper): void
  26.     {
  27.         $this->checkByRole(['ROLE_SUPER_ADMIN','ROLE_CONTENT_MANAGER','ROLE_DC_MANAGER']);
  28.         $formMapper
  29.             ->tab('Основная информация')
  30.             ->with('Контент', ['class' => 'col-lg-6'])
  31.             ->add('state'CheckboxType::class, ['label' => 'Показывать на сайте''required' => false])
  32.             ->add('state_slider'CheckboxType::class, ['label' => 'Отображать в слайдере''required' => false])
  33.             ->add('position'null, ['label' => 'Порядок вывода'])
  34.             ->add('url'null, ['label' => 'URL''required' => true])
  35.             ->add('image'MediaType::class, [
  36.                 'label' => 'Превью',
  37.                 'provider' => 'sonata.media.provider.image',
  38.                 'context'  => 'dc_site'
  39.             ])
  40.             ->add('title_ru'TextType::class, ['label' => 'Название RU'], [])
  41.             ->add('title_ua'TextType::class, ['label' => 'Название UA'], [])
  42.             ->end()
  43.             ->end();
  44.     }
  45.     /**
  46.      * @param ListMapper $listMapper
  47.      */
  48.     protected function configureListFields(ListMapper $listMapper): void
  49.     {
  50.         $this->checkByRole(['ROLE_SUPER_ADMIN','ROLE_CONTENT_MANAGER','ROLE_DC_MANAGER']);
  51.         $listMapper->addIdentifier('id')
  52.             ->add('title_ru',null, ['label' => 'Название'])
  53.             ->add('position',null, ['label' => 'Порядок вывода','editable' => true,])
  54.             ->add('_action','actions',[
  55.                 'label' => 'Действия',
  56.                 'actions' => [
  57.                     'edit' => [],
  58.                     'delete' => [],
  59.                 ]
  60.             ])
  61.         ;
  62.     }
  63. }