Skip to content
Snippets Groups Projects
RenderController.php 926 B
Newer Older
  • Learn to ignore specific revisions
  • <?php
    
    namespace NL\NlMenubuilder\ViewHelpers\Menu\Controller;
    
    use NL\NlMenubuilder\Domain\Model\Menu;
    use NL\NlMenubuilder\Domain\Repository\MenuRepository;
    use TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController;
    
    class RenderController extends AbstractWidgetController
    {
        /**
         * @var MenuRepository
         */
        protected $menuRepository;
    
        /**
         * Inject menu repository
         *
         * @param MenuRepository $repository
         */
        public function injectMenuRepository(MenuRepository $repository)
        {
            $this->menuRepository = $repository;
        }
    
        /**
         * @return string
         */
        public function indexAction(): string
        {
            /** @var Menu $menu */
            $menu = $this->menuRepository->findByIdentifier($this->widgetConfiguration['uid']);
    
            $this->view->assign('menu', $menu);
    
            return $this->view->render($menu ? $menu->getTemplate() : Menu::DEFAULT_TEMPLATE);
        }
    }