lib/composer/LisaBundle/src/VisualMedia/LisaBundle/Controller/LayoutController.php line 51

Open in your IDE?
  1. <?php
  2. /**
  3.  * Layout Controller
  4.  *
  5.  * @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
  6.  */
  7. namespace VisualMedia\LisaBundle\Controller;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use VisualMedia\LisaBundle\Controller\BaseController;
  11. use VisualMedia\LisaBundle\Service\BundleProvider;
  12. use VisualMedia\LisaBundle\Service\MenuProvider;
  13. use VisualMedia\MenuBundle\Manager\BaseMenuManager;
  14. /**
  15.  * Layout Controller
  16.  */
  17. class LayoutController extends BaseController
  18. {
  19.     public const MENU_MAIN 'main';
  20.     /**
  21.      * Get Header Menu Key
  22.      *
  23.      * @return string
  24.      */
  25.     public function getHeaderMenuKey(): string
  26.     {
  27.         return static::MENU_MAIN;
  28.     }
  29.     /**
  30.      * Get Footer Menu Key
  31.      *
  32.      * @return string
  33.      */
  34.     public function getFooterMenuKey(): string
  35.     {
  36.         return static::MENU_MAIN;
  37.     }
  38.     /**
  39.      * Header Action
  40.      *
  41.      * @param Request $request
  42.      *
  43.      * @return Response
  44.      */
  45.     public function headerAction(Request $requestString $template 'header'): Response
  46.     {
  47.         $provider $this->get(MenuProvider::class);
  48.         $manager $this->get(BaseMenuManager::class);
  49.         if (!$provider->exists($this->getHeaderMenuKey()) && $this->has(BaseMenuManager::class)) {
  50.             $manager $this->get(BaseMenuManager::class);
  51.             $manager->getOrCreateMenu($this->getHeaderMenuKey());
  52.             $provider->loadFromManagers();
  53.         }
  54.         $menu $provider->getMenu($this->getHeaderMenuKey());
  55.         
  56.         return $this->render(sprintf('@VisualMediaLisa/Layout/%s.html.twig'$template), array(
  57.             'menu' => $menu,
  58.         ));
  59.     }
  60.     /**
  61.      * Footer Action
  62.      *
  63.      * @param Request $request
  64.      *
  65.      * @return Response
  66.      */
  67.     public function footerAction(Request $requestString $template 'footer'): Response
  68.     {
  69.         $provider $this->get(MenuProvider::class);
  70.         if (!$provider->exists($this->getHeaderMenuKey()) && $this->has(BaseMenuManager::class)) {
  71.             $manager $this->get(BaseMenuManager::class);
  72.             $manager->getOrCreateMenu($this->getHeaderMenuKey());
  73.             $provider->loadFromManagers();
  74.         }
  75.         $menu $provider->getMenu($this->getFooterMenuKey());
  76.         return $this->render(sprintf('@VisualMediaLisa/Layout/%s.html.twig'$template), array(
  77.             'menu' => $menu,
  78.         ));
  79.     }
  80. }