W tej krótkiej poradzie pokażę jak użyć standardowego kontrolera Symfony z widokiem w obrębie layoutu EasyAdmin. Dla przykładu zbudujemy statyczną podstronę informacyjną. Może to być oczywiście cokolwiek innego.
W pierwszym kroku zapisz kontroler (/src/Controller/Admin/AboutController.php):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php namespace App\Controller\Admin; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class AboutController extends AbstractController { /** * @Route(name="about") */ public function index(): Response { return $this->render('bundles/EasyAdminBundle/page/about.html.twig'); } } |
Następnie zapisz szablon zgodnie z lokalizacją wewnątrz funkcji render: ( / templates / bundles / EasyAdminBundle / page / about.html.twig):
1 2 3 4 5 6 7 |
{% extends '@EasyAdmin/page/content.html.twig' %} {% block page_title %}About Us{% endblock %} {% block page_content %} Hello World! {% endblock %} |
Szablon rozszerza układ EA, zgodnie z zapisem: {% extends '@EasyAdmin/page/content.html.twig’ %}, a blok page_content możesz wypełnić dowolną treścią. Na koniec zaktualizuj menu w DashboardController podając parametr about dla funkcji linkToRoute, (dzięki czemu będziemy mogli wejść do podstrony klikając na link w menu EA).
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php // ... public function configureMenuItems(): iterable { // ... yield MenuItem::linkToRoute('About Us', null, 'about'); // ... } |