src/AdminBundle/Admin/Vidi/BlogCategoryAdmin.php line 10

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\Vidi;
  3. use AdminBundle\Admin\BaseAdmin;
  4. use Sonata\AdminBundle\Datagrid\ListMapper;
  5. use Sonata\AdminBundle\Form\FormMapper;
  6. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  7. class BlogCategoryAdmin extends BaseAdmin
  8. {
  9.     public function prePersist($object): void
  10.     {
  11.         $url $object->getUrl() ?: $object->getTitleUa();
  12.         $object->setUrl($this->slugify($url));
  13.         parent::prePersist($object);
  14.     }
  15.     public function preUpdate($object): void
  16.     {
  17.         $url $object->getUrl() ?: $object->getTitleUa();
  18.         $object->setUrl($this->slugify($url));;
  19.         parent::preUpdate($object);
  20.     }
  21.     protected function configureListFields(ListMapper $list): void
  22.     {
  23.         $list->addIdentifier('id')
  24.             ->add('title_ua'null, ['label' => 'Назва'])
  25.             ->add('url'null, ['label' => 'URL'])
  26.             ->add('state','choice', ['label' => 'Відображення',
  27.                 'editable' => true'choices' => [
  28.                 => 'Так',
  29.                 => 'Ні',
  30.             ]])
  31.             ->add('_action''actions', [
  32.                 'label' => 'Действия',
  33.                 'actions' => [
  34.                     'edit' => []
  35.                 ]
  36.             ]);
  37.     }
  38.     protected function configureFormFields(FormMapper $form): void
  39.     {
  40.         $form
  41.             ->with('Категорія', ['class' => 'col-lg-8'])
  42.                 ->add('title_ua'null, ['label' => 'Назва (ua)'])
  43.                 ->add('title_ru'null, ['label' => 'Назва (ru)'])
  44.                 ->add('url'null, ['label' => 'URL''required' => false])
  45.                 ->add('state'CheckboxType::class, ['label' => 'Відображати''required' => false])
  46.             ->end();
  47.     }
  48. }