AdminLTE en Laravel

arrow_back Blog

AdminLTE es una plantilla de diseño para paneles de administración de sistemas. Es muy popular y se utiliza a menudo con el framework de PHP Laravel para crear paneles de administración para aplicaciones web.

jeroennoten/Laravel-AdminLTE es un paquete de Laravel que facilita la integración de la plantilla de diseño AdminLTE en un proyecto de Laravel. Este paquete proporciona una forma sencilla de añadir la plantilla AdminLTE a tu proyecto de Laravel sin tener que realizar la configuración manualmente.

Para utilizar jeroennoten/Laravel-AdminLTE, primero debes instalar Laravel en tu entorno de desarrollo y luego instalar el paquete a través de Composer. A continuación, puedes utilizar el paquete para integrar fácilmente la plantilla AdminLTE en tus vistas de Laravel.

Este paquete también incluye varias herramientas útiles para personalizar la plantilla AdminLTE y adaptarla a tus necesidades específicas. Por ejemplo, puedes utilizar el paquete para configurar el menú de navegación, cambiar el diseño y la apariencia de la plantilla y agregar widgets y elementos adicionales a tu panel de administración.

Instalar AdminLTE en Laravel

Para instalar jeroennoten/Laravel-AdminLTE en tu proyecto Laravel debes seguir estos pasos:

  1. Abre tu terminal y dirígete al directorio raíz de tu proyecto de Laravel.

  2. Ejecuta el siguiente comando para instalar el paquete a través de Composer:

  3. Una vez instalado el paquete, debes publicar los archivos de configuración del paquete utilizando el siguiente comando:

Personalizar las vistas de autenticación en AdminLTE en Laravel

Opcionalmente, y solo para Laravel 7+, el paquete ofrece un conjunto de vistas de autenticación con el look&feel de AdminLTE que se puede utilizar en reemplazo de las proporcionadas por el sistema de autenticación de laravel/ui. Si planeas usar estas vistas deberás ejecutar los siguientes comandos en tu proyecto:

Manejo de roles con Enums en Laravel

Para gestionar los roles de forma sencilla y poder dar acceso sólo a los administradores al panel de AdminLTE, vamos a crear un enum válido para el sistema de migraciones en Laravel.

Ahora vamos a actualizar la migración de usuarios para utilizar nuestro enum UserType:

Hagamos también un ajuste en nuestro modelo User para hacer buen uso de nuestra configuración:

Middleware para controlar el acceso de Administradores

Es importante proteger el acceso a la sección de administración de nuestras aplicaciones. En Laravel esta tarea la podemos gestionar fácilmente con Middlewares, creemos uno con el siguiente código:

El Middleware IsAdmin lo utilizaremos para proteger las rutas de administración más adelante, pero para ello, necesitamos registrarlo en el Kernel Http de la siguiente forma:

Crear usuario administrador

Vamos a crear un usuario administrador para gestionar nuestro sistema a través de los seeders de Laravel:

Con esto ya lo tenemos todo listo y estamos en condiciones de iniciar controladores y rutas para nuestros administradores.

Controlador para el panel de AdminLTE

Creemos un controlador AdminController rápidamente, el cual se encargará de mostrar el panel AdminLTE a los administradores del sistema:

Utilizando el layout de AdminLTE en Laravel

El layout de administración de AdminLTE ya está diseñado, sólo debemos utilizarlo de la siguiente forma, en este caso en nuestro archivo de vista admin/index.blade.php:

Definir el sistema de rutas

Nuestro sistema de rutas web será sencillo, pero lo necesario para que tú más adelante puedas extenderlo a tus necesidades:

Como puedes ver, por un lado tenemos la ruta para la sección de administración, la cual está protegida por el middleware admin que hemos desarrollado anteriormente, y por otro lado la ruta home que se supone está pensada para mostrar la interfaz para usuarios identificados que no sean administradores.

Ajustar el inicio de sesión para los administradores

Si ahora te diriges a la ruta /login y accedes con las credenciales de administrador que hemos creado anteriormente verás que Laravel te deja en la ruta /home, y es normal, necesitamos ajustar algunas cosas para que esto funcione como necesitamos.

Lo primero que necesitamos es actualizar el LoginController con lo siguiente:

El método redirectTo en combinación con nuestro Accessor isAdmin hacen el trabajo que necesitamos, que es mandar al usuario identificado a la zona que corresponda dependiendo de si es administrador o no.

Lo segundo que necesitamos es ajustar el RouteServiceProvider para añadir la siguiente constante, la cual nos servirá a continuación:

Lo tercero y último que necesitamos es actualizar el middleware RedirectIfAuthenticated de la siguiente forma:

A partir de ahora, si vuelves a acceder con el usuario administrador, verás que Laravel te deja en la ruta /admin, desde donde podrás ver el panel de administración de AdminLTE.


Espero que esta entrada te haya resultado útil y a partir de ahora puedas implementar AdminLTE en Laravel de forma rápida y sencilla. Si deseas profundizar más en el uso de esta dependencia, sólo debes revisar su documentación, es sencilla, completa y cubrirá todo lo que puedas necesitar.


Si necesitas un punto de partida completo con AdminLTE en Laravel, suscríbete y descarga este proyecto para ahorrar decenas de horas de trabajo.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto