public function render()
{
$pageUid = $this->arguments['pageUid'] > 0 ? $this->arguments['pageUid'] : $GLOBALS['TSFE']->id;
$entryLevel = $this->arguments['entryLevel'];
$endLevel = $this->arguments['endLevel'];
$rawRootLineData = $this->pageService->getRootLine($pageUid);
$rawRootLineData = array_reverse($rawRootLineData);
$rawRootLineData = array_slice($rawRootLineData, $entryLevel, $endLevel);
$rootLineData = $rawRootLineData;
if (false === (bool) $this->arguments['showHiddenInMenu']) {
$rootLineData = [];
foreach ($rawRootLineData as $record) {
if (false === (bool) $record['nav_hide']) {
array_push($rootLineData, $record);
}
}
}
$rootLine = $this->parseMenu($rootLineData);
if (0 === count($rootLine)) {
return null;
}
$this->backupVariables();
$this->templateVariableContainer->add($this->arguments['as'], $rootLine);
$output = $this->renderContent($rootLine);
$this->templateVariableContainer->remove($this->arguments['as']);
$this->restoreVariables();
return $output;
}