Sort main menu items alphabetically
1
/**
* Sort Main Menu Items.
*
* @return void
*/
protected function sortMainMenuItems()
{
$mainMenuItems = collect([]);
$navigationManager = NavigationManager::instance();
foreach ($navigationManager->listMainMenuItems() as $mainMenuItem) {
$mainMenuItem->labelValue = Lang::get($mainMenuItem->label);
$mainMenuItems->push($mainMenuItem);
$navigationManager->removeMainMenuItem($mainMenuItem->owner, $mainMenuItem->code);
}
$dashboardMenuItem = $mainMenuItems->where('labelValue', 'Dashboard')->first();
$settingsMenuItem = $mainMenuItems->where('labelValue', 'Settings')->first();
$sortedMainMenuItems = $mainMenuItems->reject(function ($mainMenuItem) {
return in_array($mainMenuItem->labelValue, ['Settings', 'Dashboard']);
})->sortBy('labelValue');
$navigationManager->addMainMenuItem($dashboardMenuItem->owner, $dashboardMenuItem->code, (array) $dashboardMenuItem);
foreach ($sortedMainMenuItems as $mainMenuItem) {
$navigationManager->addMainMenuItem($mainMenuItem->owner, $mainMenuItem->code, (array) $mainMenuItem);
}
$navigationManager->addMainMenuItem($settingsMenuItem->owner, $settingsMenuItem->code, (array) $settingsMenuItem);
}
There are no comments yet
Be the first one to comment