forked from EasyCorp/EasyAdminBundle
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBlogArticleCrudController.php
More file actions
53 lines (46 loc) · 1.68 KB
/
BlogArticleCrudController.php
File metadata and controls
53 lines (46 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
namespace App\Controller\Admin;
use App\Entity\BlogArticle;
use App\Entity\ContentBlock;
use App\Form\ContentBlockType;
use EasyCorp\Bundle\EasyAdminBundle\Attribute\AdminCrud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Filters;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
use EasyCorp\Bundle\EasyAdminBundle\Field\CollectionField;
use EasyCorp\Bundle\EasyAdminBundle\Field\FormField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
use EasyCorp\Bundle\EasyAdminBundle\Filter\EntityFilter;
/**
* @extends AbstractCrudController<BlogArticle>
*/
#[AdminCrud(routePath: '/blog-article')]
class BlogArticleCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return BlogArticle::class;
}
public function configureFields(string $pageName): iterable
{
yield FormField::addTab('General');
yield TextField::new('title')->setColumns(6);
yield AssociationField::new('category')->setColumns(6);
yield TextareaField::new('abstract')->setRequired(false);
yield FormField::addTab('Contents');
yield CollectionField::new('contents')
->hideOnIndex()
->setEntryType(ContentBlockType::class)
->renderExpanded(false)
->formatValue(function ($value, ContentBlock $entity) {
return $entity->contents ?? '';
})
;
}
public function configureFilters(Filters $filters): Filters
{
$filters->add(EntityFilter::new('category'));
return $filters;
}
}