Menus diferentes - middleware - grupos - AdminLTE
Criei duas áreas de login separadas para usuários e admin, mas preciso carregar menus diferentes para esses dois ambientes no AdminLTE.
Tentei implementar uma solução postada no próprio AdminLTE, mas não carrega. Agradeço se alguém puder opinar.
Obrigado!
1 - No arquivo adminlte.php eu retirei o conteúdo do menu:
'menu' => [],
2 - Depois criei dois menus dentro do caminho 'config->menus', o admin.php e o user.php
return [ 'menu' => [
[ 'text' => 'Bandas', 'url' => 'admin/banda',],
]
];
3 - Criei um middleware chamado MenuConfig.php para selecionar o menu:
public function handle($request, Closure $next, $menuType)
{
$menus = [];
if ($menuType == 'Admin') {
$menus = config('menus.admin.menu');
}
if ($menuType == 'User') {
$menus = config('menus.user.menu');
}
Event::listen(BuildingMenu::class, function (BuildingMenu $event) use ($menus) {
foreach ($menus as $menu) {
$event->menu->add($menu);
}
});
return $next($request);
}
}
4 - Adicionei o novo middleware no arquivo Kernel.php
protected $routeMiddleware = [
'menu.config' => \App\Http\Middleware\MenuConfig::class,
];
5 - Criei as rotas no arquivo web.php
Auth::routes(['verify' => true, 'register' => false]);
Route::group(['middleware' => ['auth', 'verified', 'menu.config:Admin']], function () {
});
Route::group(['middleware' => ['auth', 'verified', 'menu.config:User'], 'prefix' => 'user'], function () {
});
Link do exemplo: https://github.com/JeroenNoten/Laravel-AdminLTE/issues/5
Olá, Ricardo!
Tudo bem?
Você pode personalizar o menu dessa forma aqui, usando as próprias configurações do AdminLTE (Menu configuration at runtime): https://github.com/jeroennoten/Laravel-AdminLTE#6113-menu-configuration%E2%80%93at-runtime
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!