src/AdminBundle/Admin/BrandAdmin.php line 13

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin;
  3. use Sonata\AdminBundle\Admin\AbstractAdmin;
  4. use Sonata\AdminBundle\Datagrid\ListMapper;
  5. use Sonata\AdminBundle\Form\FormMapper;
  6. use Sonata\AdminBundle\Route\RouteCollection;
  7. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  8. use Sonata\MediaBundle\Form\Type\MediaType;
  9. class BrandAdmin extends AbstractAdmin
  10. {
  11.     /**
  12.      * @param RouteCollection $collection
  13.      */
  14.     protected function configureRoutes(RouteCollectionInterface $collection): void
  15.     {
  16.         $collection->remove('view');
  17.         $collection->remove('delete');
  18.         $collection->remove('create');
  19.     }
  20.     /**
  21.      * @param FormMapper $formMapper
  22.      */
  23.     protected function configureFormFields(FormMapper $formMapper): void
  24.     {
  25.         $formMapper
  26.             ->with('Контент', ['class' => 'col-lg-6'])
  27.             ->add('name',null, ['label' => 'Название'])
  28.             ->add('name_ru',null, ['label' => 'Название RU'])
  29.             ->add('name_ua',null, ['label' => 'Название UA'])
  30.             ->add('image'MediaType::class, [
  31.                 'label' => 'Монохромный логотип',
  32.                 'required' => false,
  33.                 'provider' => 'sonata.media.provider.image',
  34.                 'context'  => 'dc_site'
  35.             ])
  36.             ->add('logo'MediaType::class, [
  37.                 'label' => 'Цветной логотип',
  38.                 'required' => false,
  39.                 'provider' => 'sonata.media.provider.image',
  40.                 'context'  => 'dc_brand'
  41.             ])
  42.             ->add('logo_white'MediaType::class, [
  43.                 'label' => 'Белый логотип',
  44.                 'required' => false,
  45.                 'provider' => 'sonata.media.provider.image',
  46.                 'context'  => 'dc_brand'
  47.             ])
  48.             ->end()
  49.         ;
  50.     }
  51.     /**
  52.      * @param ListMapper $listMapper
  53.      */
  54.     protected function configureListFields(ListMapper $listMapper): void
  55.     {
  56.         $listMapper->addIdentifier('id')
  57.             ->add('name',null, ['label' => 'Название'])
  58.             ->add('image',null, ['label' => 'Изображение'])
  59.             ->add('_action''actions', [
  60.                 'label' => 'Действия',
  61.                 'actions' => [
  62.                     'edit' => [],
  63.                 ]
  64.             ])
  65.         ;
  66.     }
  67. }