Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:symfony:extensions:easyadmin:easyadmin [01/10/2022 12:58] thierry [Premier Dashboard] |
prog:symfony:extensions:easyadmin:easyadmin [10/11/2022 12:06] (Version actuelle) thierry [Sources & Ressources] |
||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
==== Création page d'accueil ==== | ==== Création page d'accueil ==== | ||
+ | === Modification du contrôleur === | ||
+ | |||
+ | On modifie la function ''index'' du controller pour qu'elle affiche le template ''Admin/index.html.twig'' | ||
+ | <code php src\Controller\Admin\DashboardController.php> | ||
+ | class DashboardController extends AbstractDashboardController | ||
+ | { | ||
+ | /** | ||
+ | * Page d'accueil de l'admin | ||
+ | * @Route("/admin", name="admin") | ||
+ | */ | ||
+ | public function index(): Response | ||
+ | { | ||
+ | // return parent::index(); <- Code original | ||
+ | return $this->render('Admin/index.html.twig'); //<- Code modifié | ||
+ | } | ||
+ | </code> | ||
+ | === Création du template === | ||
+ | * On créé le répértoire ''templates\Admin'' | ||
+ | * On y créé le fichier ''index.html.twig'' avec le code suivant... | ||
+ | |||
+ | <code twig templates\Admin\index.html.twig> | ||
+ | {# templates/admin/my-custom-page.html.twig #} | ||
+ | {% extends '@EasyAdmin/page/content.html.twig' %} | ||
+ | |||
+ | {% block content_title %}The Title of the Page{% endblock %} | ||
+ | {% block page_actions %} | ||
+ | Block Page_actions<br/> | ||
+ | <a class="btn btn-primary" href="#">Some Action</a> | ||
+ | {% endblock %} | ||
+ | |||
+ | {% block main %} | ||
+ | Block Main | ||
+ | {% endblock %} | ||
+ | </code> | ||
+ | Ce qui nous donne ceci : | ||
+ | {{:prog:symfony:extensions:easyadmin:admin_acc.jpg?600|}} | ||
+ | |||
Ligne 35: | Ligne 72: | ||
==== Création ==== | ==== Création ==== | ||
''symfony console make:admin:crud'' | ''symfony console make:admin:crud'' | ||
+ | |||
+ | ==== Ajout du menu dans le controleur ==== | ||
+ | Dans le controleurs ''DashboardController.php'' on ajoute une linge : | ||
+ | |||
+ | ''yield MenuItem::linkToCrud('%LabelDuMenu%', 'fas fa-list', %Entity%::class);'' | ||
+ | <code php src\Controller\Admin\DashboardController.php> | ||
+ | public function configureMenuItems(): iterable | ||
+ | { | ||
+ | yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home'); | ||
+ | // yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class); | ||
+ | yield MenuItem::linkToCrud('Tickets', 'fas fa-list', GTicket::class); //<- Ligne ajoutée | ||
+ | } | ||
+ | </code> | ||
+ | === Les icones === | ||
+ | Le paramètre '''fas fa-list''' est une référence aux icônes de [[https://fontawesome.com|Font Awesome]] : [[https://fontawesome.com/icons/list?s=solid&f=classic|List]] | ||
+ | |||
+ | ==== Plusieurs CrudControllers pour la mème Entity ==== | ||
+ | Dans l'exemple ci dessous on gère la même Entity : ''GDistributeur'', mais on pointe sur deux | ||
+ | contrôleurs différents | ||
+ | * Le premier sur le controleur par défaut | ||
+ | * Le deuxieme on force a utiliser le controlleur ayant la class ''GTicketDistributeurCrudController::class'' | ||
+ | <code php> | ||
+ | yield MenuItem::linkToCrud('Distributeurs', 'fas fa-list', GDistributeur::class); | ||
+ | yield MenuItem::linkToCrud('Gestion des Tickets', 'fa fa-question-circle', GDistributeur::class) | ||
+ | ->setController(GTicketDistributeurCrudController::class); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
Ligne 40: | Ligne 106: | ||
* [[https://symfony.com/bundles/EasyAdminBundle/current/dashboards.html]] | * [[https://symfony.com/bundles/EasyAdminBundle/current/dashboards.html]] | ||
* [[https://www.youtube.com/watch?v=g6cYQ3IXGHY|Vidéo Youtube : Créons un BackOffice facilement avec EasyAdmin 3 ! de Yoandev]] | * [[https://www.youtube.com/watch?v=g6cYQ3IXGHY|Vidéo Youtube : Créons un BackOffice facilement avec EasyAdmin 3 ! de Yoandev]] | ||
+ | * [[https://afsy.fr/avent/2017/01-easyadminbundle-l-arriere-guichet-easy-peasy]] | ||
+ | * [[https://symfony.com/bundles/EasyAdminBundle/3.x/index.html]] | ||
+ | * [[https://fr.slideshare.net/rkueny/prsentation-de-easyadmin-le-bundle-dadmin-de-symfony]] <- intéressant ! | ||