Saltar al contenido

AdminLTE es una de las plantillas de administración más populares del mundo, con más de 44.000 estrellas en GitHub. Basada en Bootstrap, ofrece un diseño limpio y profesional para paneles de control, dashboards y backoffices. En este tutorial aprenderás a integrar AdminLTE en Laravel usando el paquete jeroennoten/Laravel-AdminLTE, que simplifica toda la configuración.

Actualizado para Laravel 11/12 - Este tutorial funciona con las versiones más recientes de Laravel.

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.

¿AdminLTE o Filament? Cuál elegir

Antes de continuar, es importante que conozcas las alternativas:

Característica

AdminLTE

Filament 4

Tipo

Plantilla HTML/CSS

Framework PHP completo

Curva de aprendizaje

Baja

Media

CRUD automático

No

Personalización visual

Alta (manual)

Alta (con componentes)

Ideal para

Proyectos simples, diseño personalizado

Paneles complejos, desarrollo rápido

Mi recomendación: Si necesitas un panel de administración rápido y potente, considera Filament 4 - es el estándar actual en el ecosistema Laravel. Si prefieres control total del HTML/CSS o tienes un diseño específico, AdminLTE sigue siendo una excelente opción.

Instalar AdminLTE en Laravel

Nota Laravel 11/12: Los comandos de este tutorial funcionan igual en Laravel 11 y 12. La única diferencia es que en Laravel 11+ los middlewares se registran en bootstrap/app.php en lugar de app/Http/Kernel.php. Si usas la estructura clásica (como este proyecto), sigue las instrucciones tal cual.

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 panel administrativo avanzado en Laravel, suscríbete y realiza la ruta Filament 3 y Filament 4, es una pasada, desde 0, podrás construir sistemas administrativos rápidos y completos.


Preguntas frecuentes sobre AdminLTE en Laravel

¿AdminLTE es gratis?

Sí, AdminLTE es 100% gratuito y open source bajo licencia MIT. Puedes usarlo en proyectos personales y comerciales sin coste.

¿Funciona AdminLTE con Laravel 12?

Sí, el paquete jeroennoten/Laravel-AdminLTE es compatible con Laravel 9, 10, 11 y 12. Solo asegúrate de usar la última versión del paquete.

¿Cuál es la diferencia entre AdminLTE y Filament?

AdminLTE es una plantilla HTML/CSS que requiere que construyas la lógica manualmente. Filament es un framework completo que genera CRUDs, formularios y tablas automáticamente. Para proyectos nuevos, Filament suele ser más productivo.

¿Puedo usar AdminLTE con Livewire?

Sí, puedes integrar componentes Livewire dentro de las vistas de AdminLTE sin problemas. Solo necesitas incluir los scripts de Livewire en el layout.

¿Cómo personalizo el menú de navegación en AdminLTE?

El menú se configura en el archivo config/adminlte.php en la sección menu. Puedes añadir enlaces, submenús, separadores y badges de forma declarativa.

school Curso completo

Curso Laravel 12
Completo 2026

El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.

access_time 8 horas de contenido
layers 4 tecnologías en 1
update 100% actualizado
code Proyectos prácticos
Ver Curso Laravel 12 arrow_forward

star Incluido en cualquier suscripción

Rutas de aprendizaje