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 13:00] thierry [Création page d'accueil] |
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 ==== | ||
| - | On modifie le controller | + | === Modification du contrôleur === |
| - | <code php> | + | |
| + | 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 | class DashboardController extends AbstractDashboardController | ||
| { | { | ||
| Ligne 29: | Ligne 31: | ||
| } | } | ||
| </code> | </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 49: | 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 54: | 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 ! | ||