juanintorres / menu-elements
Generador de elementos de un menú, ésto fue desarrollado a modo de ejercicio y por lo mismo no es un desarrollo muy acabado
Requires
- php: >=7.0
- illuminate/support: ^5.4.27
Requires (Dev)
- phpunit/phpunit: ^5.7.21
- symfony/var-dumper: ^3.3.6
This package is not auto-updated.
Last update: 2025-05-25 07:12:46 UTC
README
Este componente nos ayuda a crear elementos de un menú, agregándole una clase de CSS extra si estamos ubicados en la misma ruta a la que se está apuntando el link.
Esto ha sido creado a modo de ejercicio y por lo mismo es de uso público y se aceptan todo tipo de opiniones y comentarios.
La clase base utilizada por los íconos es glyphicon
, la misma que utiliza Bootstrap, pero que se puede cambiar al generar el archivo de configuración local
Instalación
Paso 1: Instalación a través de composer
composer require "juanintorres/menuelement":"dev-master"
Paso 2: Agregar el ServiceProvider y Facade
En el archivo config/app.php
agregar:
... 'providers' => [ Juanintorres\MenuElement\MenuElementServiceProvider::class, ], ... 'aliases' => [ 'MenuElement' => Juanintorres\MenuElement\MenuElement::class, ]
Paso 3: Generar los archivos de configuración local
php artisan vendor:publish --force
Al hacer esto, se copia un archivo de configuración desde el paquete a la ruta /config/menuelement.php
Ejemplos
En una vista o partials, en donde se tenga un menu de navegación, utilicen esto:
<ul> {!! MenuElement::make('home_path','HOME', ['icon' => 'glyphicon glyphicon-home']) !!} {!! MenuElement::make('contact_path','Contacto', ['icon' => 'glyphicon glyphicon-envelope']) !!} </ul>
Si tenemos definidas estas rutas:
Route::get('home', [ 'as' => 'home_path', 'uses' => 'HomeController@index' ]); Route::get('contacto', [ 'as' => 'contact_path', 'uses' => 'ContactController@index' ]);
Y si estamos ubicados en el home
, ésto da como resultado:
<ul> <li class="active"><a href="http://app.dev"><span class="glyphicon glyphicon-home" aria-hidden="true"></span>HOME</a></li> <li class=""><a href="http://app.dev/contacto"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>Contacto</a></li> </ul>