Elgg\Menu\Service::prepareMenu PHP Method

prepareMenu() public method

Split a menu into sections, and pass it through the "prepare" hook
public prepareMenu ( UnpreparedMenu $menu ) : Menu
$menu UnpreparedMenu Menu
return Menu
    public function prepareMenu(UnpreparedMenu $menu)
    {
        $name = $menu->getName();
        $params = $menu->getParams();
        $sort_by = $menu->getSortBy();
        $builder = new ElggMenuBuilder($menu->getItems());
        $params['menu'] = $builder->getMenu($sort_by);
        $params['selected_item'] = $builder->getSelected();
        $params['menu'] = $this->hooks->trigger('prepare', "menu:{$name}", $params, $params['menu']);
        return new Menu($params);
    }