甚至管理后端opzetten
甚至管理后端opzetten
Het tovoegen van aankomende会议aan de数据库是de taak van de projectbeheerders。即使admin-backend贝舍尔德是战争吗projectbeheerdersDe gegevens van De website kunnen beheren,反馈kunnen modereren, en meer。
Hoe kunnen我们dit snel creëren?Door gebruik te maken van een bundle die in staat是omeen admin-backend te genereren op base van het模型van het项目。EasyAdmin过去完成时在dit plaatje。
Meer Afhankelijkheden Installeren
Ondanks dat dewebapp
包装自动包,zullen we zelegg afhankelijkheden moeten toevogen om gebruik te kunnen maken van een aantal特殊功能。我们是否会加倍努力?通过作曲家。Naast de“gewone”Composer包zullen我们werken遇到twee“speciale”soten包:
- ob娱乐下载Symfony Componenten:包从抽象到应用(路由,控制台,HTTP客户端,邮件,缓存,…);
- ob娱乐下载Symfony Bundels:包die op甚至hoog niveau的集成功能满足外部图书馆tovogen (bundels zijn meestal bijgedragen door de community)。欧宝体育平台怎么样
Voeg EasyAdmin toe als项目依赖:
1
$ob娱乐下载交响乐作曲家要求“管理:^ 4”
管理
这是别名吗easycorp / easyadmin-bundle
包中。
别名zjn geen特征van作曲家,maar甚至概念dat门Symfony toegevegd是om je het lob娱乐下载eeven envoudiger te maken。别名geven je sneller toegang tot populaire作曲家包。我可以申请吗?Vereis丹orm
.我还会去特威克伦吗?Vereis丹api
.Deze别名worden automatisch vertaald naar één的meerdere gewone Composer包。Het zijn wel eigen keuzes die gemaakt werden door Het ob娱乐下载Symfony核心团队。
即使是麋鹿的特征也是高海拔的ob娱乐下载
小贩kan weglaten。Vereis缓存
在平底货车里ob娱乐下载symfony /缓存
.
提示
Heb je onthden,我们甚至在作曲家插件genaamdob娱乐下载symfony / flex
hebben gehad吗?别名是één van de features van deze插件。
EasyAdmin configureren
EasyAdmin genereert自动满足指定控制器gebaseerd admin-gedeelte voor je application。
后来我们遇到了EasyAdmin te启动甚至“web管理仪表板”genereren。Dit dashboard zal het beginpunt zijn om de website-gegevens te beheren:
1
$ob娱乐下载Symfony控制台make:admin:dashboard
Als je de standard antwoorden accepteert, zal de volgende controller worden aangemaakt:
Volgens convention worden alle admin-controllers opgeslagen binnen hun eigen应用程序控制器\ \管理
名称空间。
Ga naar de gegenereerde管理后台操作/管理
, zoals geconfigurureerd bij deindex ()
方法。Je kunt eventueel de URL aanpassen:
Boem !我们的管理界面是mooie, klaar om aangepast te worden naar onze wensen。
De volgende stap是来自会议和现场的通用控制器。
Wellicht heb je deconfigureMenuItems ()
方法在de仪表盘控制器gezien。Deze method heeft documentatie over het toevogen van“CRUD”链接。CRUD甚至是afkorting voor“创建,读取,更新,删除”(toevogen, Lezen, Bijwerken en Verwijderen)。这就是我们将要进行的工作。EasyAdmin voegt daarnaast zoek- en filtermogelijkheden toe。
后来我们参加了CRUD genereren voor会议:
1
$ob娱乐下载Symfony控制台make:admin:crud
应征入伍者1
管理界面的会议,一般的标准和标准的标准。Het volgende bestand zou nu gegenereerd moeten worden:
Doe hetzelfde voor反应:
1
$ob娱乐下载Symfony控制台make:admin:crud
De laatste stap is om links naar De conferentie- en reaction -admin CRUDs toe te voegen aan het dashboard:
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22
——/ src /控制器/ Admin / DashboardController.php+ + + b / src /控制器/ Admin / DashboardController.php@@ -2,6 +2,8 @@名称空间的应用程序控制器\ \管理;+使用App \实体\评论;+使用App \实体\会议;使用包EasyCorp \ \ EasyAdminBundle \ Config \仪表板;使用包EasyCorp \ \ EasyAdminBundle \ Config \子菜单;控制器使用EasyCorp \包\ EasyAdminBundle \ \ AbstractDashboardController;@@类DashboardController扩展AbstractDashboardController公共函数configuremuitems():可迭代{- yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');- // yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);+ yield MenuItem::linktoRoute('回到网站','fas fa-home', '首页');+ yield MenuItem::linkToCrud('会议','fas fa-map-marker-alt',会议::类);+ yield MenuItem::linkToCrud('Comments', 'fas fa-comments', Comment::class);}}
我们在一起configureMenuItems ()
菜单项的方法满足了相关的iconen voor会议en react toe te vogen en om een link terug naar de首页toe te vogen。
EasyAdmin heeft甚至API从连接纳尔实体CRUDs makkelijker te maken middels de子菜单:linkToRoute ()
方法。
仪表盘pagina是最重要的时刻nog腿。Hier zou je statistical ken of andere相关信息kunnen tonen。当我们收到通知时,请重新指示会议清单:
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22
——/ src /控制器/ Admin / DashboardController.php+ + + b / src /控制器/ Admin / DashboardController.php@@ -7,6 +7,7 @@使用App\Entity\Conference;使用包EasyCorp \ \ EasyAdminBundle \ Config \仪表板;使用包EasyCorp \ \ EasyAdminBundle \ Config \子菜单;控制器使用EasyCorp \包\ EasyAdminBundle \ \ AbstractDashboardController;路由器+使用EasyCorp \包\ EasyAdminBundle \ \ AdminUrlGenerator;组件使用ob娱乐下载Symfony \ \ HttpFoundation \反应;使用Syob娱乐下载mfony \组件\路由\注释\路线;@@ -15,7 +16,10 @@ class DashboardController extends AbstractDashboardController #[路由('/admin',名称:'admin')]公共函数索引():Response {- return parent::index();+ $routeBuilder = $this->container->get(AdminUrlGenerator::class);+ $url = $routeBuilder->setController(ConferenceCrudController::class)->generateUrl();++返回$this->重定向($url);//选项1。您可以使仪表板重定向到后端//的一些公共页面
Bij het weergeven van relativetussen entities (de conferentie die aan even react is gelinkt) zal EasyAdmin proberen om een tekstuele weergave van de conferentie te gebruiken。标准词de class-naam加上主键gebruikt (bijvoorbeeld)会议# 1
), tenzij de entity even“magische”__toString ()
方法heeft。我是说,我是说,我是说,我是说会议
类:
12 3 4 5 6 7 8 9 10 11 12 13 14
——/ src /实体/ Conference.php+ + + b / src /实体/ Conference.php@@ -32,6 +32,11 @@ class Conference $this->comments = new ArrayCollection();}+公共函数__toString():字符串+ {+返回$this->城市。“。$ this - >;+}+公共函数getId(): ?int{返回$this->id;
Doe hetzelfde voor de评论
除此之外:
12 3 4 5 6 7 8 9 10 11 12 13 14
——/ src /实体/ Comment.php+ + + b / src /实体/ Comment.php@@ -33,6 +33,11 @@ class注释#[ORM\列(长度:255,nullable: true)] private ?string $photoFilename = null;+公共函数__toString():字符串+ {+ return (string) $this->getEmail();+}+公共函数getId(): ?int{返回$this->id;
我可以和你一起去管理后台会议。Speel ermee en voeg ten minste één conferentie toe。
Voeg even aantal反应zonder foto's toe。Stel de datum voorlopig handmatig in;我们常说createdAt
科洛姆甚至在后来的体育场自动登场。
EasyAdmin aanpassen
标准管理后台werkt goed, maar kan op vele maneren worden angepast om De gebruikerservaring te verbeteren。拉丁语我们enkele eenvoudige aanpassingen doen om enkele mogelijkheden te demonstreren:
12 34 56 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
——/ src /控制器/ Admin / CommentCrudController.php+ + + b / src /控制器/ Admin / CommentCrudController.php@@ -3,7 +3,15 @@名称空间的应用程序控制器\ \管理;使用App \实体\评论;+使用EasyCorp \ \ EasyAdminBundle \ Config \ Crud捆绑销售;+使用包EasyCorp \ \ EasyAdminBundle \ Config \过滤器;控制器使用EasyCorp \包\ EasyAdminBundle \ \ AbstractCrudController;+使用EasyCorp \包\ EasyAdminBundle \ \ AssociationField领域;+使用EasyCorp \包\ EasyAdminBundle \ \ DateTimeField领域;+使用EasyCorp \包\ EasyAdminBundle \ \ EmailField领域;+使用EasyCorp \包\ EasyAdminBundle \ \ TextareaField领域;+使用EasyCorp \ \ EasyAdminBundle \字段\ TextField捆绑销售;+使用EasyCorp \包\ EasyAdminBundle \滤波器\ EntityFilter;类CommentCrudController extends AbstractCrudController{@@ -12,14 +20,44 @@类CommentCrudController extends AbstractCrudController return Comment::类;}- / *+公共函数configurerd (Crud $ Crud): Crud+ {+返回$crud+ ->setEntityLabelInSingular('Conference Comment')+ -> setentitylabelin复数('会议评论')+ ->setSearchFields(['author', 'text', 'email'])+ ->setDefaultSort(['createdAt' => 'DESC'])+;+}++公共函数configureFilters(Filters $ Filters):过滤器+ {+返回$filters+ - - - - - - >添加(EntityFilter::新(会议))+;+}+公共函数configureFields(字符串$pageName):可迭代{-返回[- IdField::新(id),——文本框::新(“标题”),- TextEditorField::新(描述),-);+ yield AssociationField::new('conference');+ yield TextField::new('author');+ yield EmailField::new('email');textareaffield::new('text')+ - > hideOnIndex ()+;TextField::new('photoFilename')+ - > onlyOnIndex ()+;++ $createdAt = DateTimeField::new('createdAt')->setFormTypeOptions([+ 'html5' => true,+ 'years' => range(日期('Y'),日期('Y') + 5),+ 'widget' => 'single_text',+));+ if (Crud::PAGE_EDIT === $pageName) {+ yield $createdAt->setFormTypeOption('disabled', true);+}其他{+ yield $createdAt;+}}- * /}
门de velden显式在deconfigureFields ()
Methode te zetten, kunnen we deze in onze eigen volgorde platsen。Sommige velden kunnen nog verder worden geconfigureerd, bijvoorbeeld door ze te verbergen op de hoofdpagina。
德configureFilters ()
Methode definiëert welke filters er boven het zoekveld getoond moeten worden。
Deze aanpassingen zijn slechts甚至kleine介绍van de mogelijkheden van EasyAdmin。
Speel met de admin, filter de reacties per conference, zoek bijvoorbeeld op basis van het e-mailadres naar reacties。我们的主要问题是,这是一个很严重的问题。我们是在大自然中,我们是在大自然中。
1
$ob娱乐下载Symfony运行PSQL -c“截断会议重新启动身份级联”
佛得角服务员