Neos\Neos\Controller\Backend\MenuHelper::buildModuleList PHP Метод

buildModuleList() публичный Метод

public buildModuleList ( ControllerContext $controllerContext ) : array
$controllerContext Neos\Flow\Mvc\Controller\ControllerContext
Результат array
    public function buildModuleList(ControllerContext $controllerContext)
    {
        $modules = array();
        foreach ($this->settings['modules'] as $module => $moduleConfiguration) {
            if (!$this->isModuleEnabled($module)) {
                continue;
            }
            if (isset($moduleConfiguration['privilegeTarget']) && !$this->privilegeManager->isPrivilegeTargetGranted($moduleConfiguration['privilegeTarget'])) {
                continue;
            }
            $submodules = array();
            if (isset($moduleConfiguration['submodules'])) {
                foreach ($moduleConfiguration['submodules'] as $submodule => $submoduleConfiguration) {
                    if (!$this->isModuleEnabled($module . '/' . $submodule)) {
                        continue;
                    }
                    if (isset($submoduleConfiguration['privilegeTarget']) && !$this->privilegeManager->isPrivilegeTargetGranted($submoduleConfiguration['privilegeTarget'])) {
                        continue;
                    }
                    $submodules[] = $this->collectModuleData($controllerContext, $submodule, $submoduleConfiguration, $module . '/' . $submodule);
                }
            }
            $modules[] = array_merge($this->collectModuleData($controllerContext, $module, $moduleConfiguration, $module), array('group' => $module, 'submodules' => $submodules));
        }
        return $modules;
    }

Usage Example

 /**
  * @param NodeInterface $node
  * @return string
  * @throws NeosException
  */
 public function render(NodeInterface $node)
 {
     if ($this->privilegeManager->isPrivilegeTargetGranted('Neos.Neos:Backend.GeneralAccess') === false) {
         return '';
     }
     /** @var $actionRequest ActionRequest */
     $actionRequest = $this->controllerContext->getRequest();
     $innerView = new StandaloneView($actionRequest);
     $innerView->setTemplatePathAndFilename('resource://Neos.Neos/Private/Templates/Backend/Content/Container.html');
     $innerView->setFormat('html');
     $innerView->setPartialRootPath('resource://Neos.Neos/Private/Partials');
     $user = $this->partyService->getAssignedPartyOfAccount($this->securityContext->getAccount());
     $innerView->assignMultiple(array('node' => $node, 'modules' => $this->menuHelper->buildModuleList($this->controllerContext), 'sites' => $this->menuHelper->buildSiteList($this->controllerContext), 'user' => $user));
     return $innerView->render();
 }
All Usage Examples Of Neos\Neos\Controller\Backend\MenuHelper::buildModuleList