protected static function listStaticPageMenuOptions()
{
$theme = Theme::getEditTheme();
$pageList = new PageList($theme);
$pageTree = $pageList->getPageTree(true);
$iterator = function ($pages) use(&$iterator) {
$result = [];
foreach ($pages as $pageInfo) {
$pageName = $pageInfo->page->getViewBag()->property('title');
$fileName = $pageInfo->page->getBaseFileName();
if (!$pageInfo->subpages) {
$result[$fileName] = $pageName;
} else {
$result[$fileName] = ['title' => $pageName, 'items' => $iterator($pageInfo->subpages)];
}
}
return $result;
};
return $iterator($pageTree);
}