GcModule\Module::loadMenu PHP Method

loadMenu() public method

Load menu if module has view with name "menu.phtml"
public loadMenu ( Zend\EventManager\EventInterface $event ) : void
$event Zend\EventManager\EventInterface Event
return void
    public function loadMenu(EventInterface $event)
    {
        if ($route = $event->getRouter()->getRoute('module')->match($event->getRequest())) {
            if ($route->getParam('module') === 'module') {
                return;
            }
            $filter = new Filter\Word\CamelCaseToSeparator();
            $filter->setSeparator('-');
            $filterChain = new Filter\FilterChain();
            $filterChain->attach($filter)->attach(new Filter\StringToLower());
            $template = $filterChain->filter($route->getParam('module')) . '/menu';
            $target = $event->getTarget();
            $resolver = $event->getApplication()->getServiceManager()->get('Zend\\View\\Resolver\\TemplatePathStack');
            $navigation = $target->getServiceLocator()->get('navigation');
            $navigation->findByRoute('module')->addPage(array('label' => $route->getParam('module'), 'route' => $event->getRouteMatch()->getMatchedRouteName(), 'active' => true));
            if (false !== $resolver->resolve($template)) {
                $target->layout()->setVariable('moduleMenu', $template);
            }
        }
    }