<?php
namespace App\Controller\Admin;
use App\Entity\About;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\IdField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use Doctrine\ORM\EntityManagerInterface;
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
class AboutCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return About::class;
}
public function configureActions(Actions $actions): Actions
{
$actions->add(Crud::PAGE_INDEX, Action::DETAIL)
->update(Crud::PAGE_NEW, Action::SAVE_AND_RETURN, function (Action $action) {
return $action->setLabel('Enregistrer');
});
return $actions;
}
public function configureFields(string $pageName): iterable
{
return [
IdField::new('id')->hideOnForm(),
TextField::new('title'),
TextareaField::new('description')->formatValue(function ($value) {
return $value ;
}),
];
}
#[Route('/show/about/detail', name: 'show_about_detail')]
public function showByArticleDetail(Request $request, EntityManagerInterface $entityManager): Response
{
$about = $entityManager->getRepository(About::class)->findBy(array(), array('id'=>'DESC'), 1, 0);
return $this->render('about/detail.html.twig', [
'about'=>$about,
]);
}
}