i9w3b / laravel-menu-manager
Menu Laravel Arrastar/Soltar Como Wordpress
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Language:JavaScript
Requires
- php: >=7.2
- illuminate/support: 5.* || 6.* || 7.*
This package is auto-updated.
Last update: 2024-12-16 15:15:44 UTC
README
Gerenciar Menu Laravel Arrastar/Soltar Como Wordpress
Bifurcado (forked) de https://github.com/lordmacu/wmenu Configurado e Modificado para atender nossas necessidades, caso goste fique a vontade para usar
Instalação
Execute o seguinte comando:
composer require i9w3b/laravel-menu-manager
Publicar configurações e ativos:
php artisan vendor:publish --provider="Harimayco\Menu\MenuServiceProvider"
Opcional:
- CUSTOM MIDDLEWARE: Adicionar middlewares
- TABLE PREFIX: Por padrão, o pacote criará 2 novas tabelas denominadas “menus” e “menu_items”
- TABLE NAMES Nome específico de tabela
- Custom routes Editar o caminho da rota, pode editar o campo
- Role Access Ativar funções (permissões) nos itens de menu
- Outras configurações...
Execute o comando:
php artisan migrate
Pronto
Publicar a rota para gerenciar os menus, para melhor gestão dos nossos projetos deixamos as rotas desabilitadas, para começar a usar tem que ativar as configurações routes_view e routes_post
alterando os valores para true
:
// arquivo config/menu.php /* |-------------------------------------------------------------------------- | Publicar rota para gerenciar (get e post) menus | true ou false |-------------------------------------------------------------------------- */ 'routes_view' => false, 'routes_post' => false,
Exemplo de uso
No arquivo blade
@extends('app') @section('contents') {!! Menu::render() !!} @endsection @push('scripts') {!! Menu::scripts() !!} @endpush
Usando as classes
use Harimayco\Menu\Models\Menus; use Harimayco\Menu\Models\MenuItems;
Exemplo de uso do menu (a)
Um menu básico de dois níveis pode ser exibido no seu modelo blade
// Obter o menu por ID $menu = Menus::find(1); // Ou por nome $menu = Menus::where('name','Test Menu')->first(); // Ou obtenha o menu pelo nome e os itens (RECOMENDADO para melhor desempenho e menos chamadas de consulta) $menu = Menus::where('name','Test Menu')->with('items')->first(); // Ou acesse $menu = Menus::where('id', 1)->with('items')->first(); // Acessar o resultado $public_menu = $menu->items; // Ou converta em array $public_menu = $menu->items->toArray();
Exemplo de uso do menu (b)
Agora, dentro do seu arquivo de modelo blade, coloque o menu usando este exemplo
<div class="nav-wrap"> <div class="btn-menu"> <span></span> </div> <nav id="mainnav" class="mainnav"> @if($public_menu) <ul class="menu"> @foreach($public_menu as $menu) <li class=""> <a href="{{ $menu['link'] }}" title="">{{ $menu['label'] }}</a> @if( $menu['child'] ) <ul class="sub-menu"> @foreach( $menu['child'] as $child ) <li class=""><a href="{{ $child['link'] }}" title="">{{ $child['label'] }}</a></li> @endforeach </ul> @endif </li> @endforeach @endif </ul> </nav> </div>
Obter itens de menu por ID
use Harimayco\Menu\Facades\Menu; $menuList = Menu::get(1);
Obter itens de menu por nome Neste exemplo, você deve ter um menu chamado Admin
use Harimayco\Menu\Facades\Menu; $menuList = Menu::getByName('Admin');
Costomização
Você pode editar a interface do menu em resources/views/vendor/wmenu/menu-html.blade.php
Para a customização acima use:
php artisan vendor:publish --provider="Harimayco\Menu\MenuServiceProvider"
Segurança
Caso descubra algum problema relacionado à segurança, envie um e-mail para marcelosenaonline@gmail.com
em vez de usar o rastreador de problemas.
Licença
MIT © i9W3b | Consulte LICENSE.md para obter mais informações.