🚀 Nueva actualización lav1.5.1 — Manejo mejorado de Imagen de Perfil en Boilerplate
La versión lav1.5.1 introduce una de las mejoras más esperadas en el flujo de autenticación y gestión de usuarios: la capacidad de manejar de forma nativa la imagen de perfil, con validación robusta, soporte para valores NULL
en base de datos y un avatar por defecto cuando no se encuentra la imagen.
Este release no solo mejora la experiencia visual y de usabilidad, sino que también fortalece la integración de datos del usuario dentro de las vistas del sistema. A continuación, presentamos en detalle todos los cambios, mejoras y la forma recomendada de actualizar tu proyecto.
✨ Principales Novedades
🔹 1. Imagen de perfil con validación
Ahora el sistema valida si el campo profile_image
existe en la base de datos y contiene un valor válido.
- Si el campo está vacío o en
NULL
, se muestra automáticamente un avatar genérico. - Si el archivo no existe en el servidor, el sistema también utiliza el avatar por defecto.
🔹 2. Avatar por defecto
El avatar por defecto se toma de la CDN oficial de AdminLTE:
https://cdn.jsdelivr.net/npm/admin-lte@3.0.2/dist/img/avatar.png
🔹 3. Integración en el Header y Sidebar
La imagen de perfil ahora aparece en dos áreas clave:
- Navbar (parte superior) junto al nombre de usuario.
- Sidebar (menú lateral) dentro del panel de usuario.
🔹 4. Comando de actualización de esquema
Con esta versión se incluyen nuevos campos y tablas, por lo que añadimos el comando:
php spark boilerplate:update
Este comando sincroniza tu base de datos con los cambios de la versión actual.
📦 Cómo actualizar a lav1.5.1
1. Actualizar dependencias con Composer
Ejecuta en la raíz de tu proyecto:
composer update julio101290/boilerplate
Esto descargará la nueva versión y reemplazará los archivos necesarios.
2. Ejecutar la actualización de esquema
Después de actualizar el código, corre el comando:
php spark boilerplate:update
Este proceso migrará las tablas y añadirá los nuevos campos, entre ellos el de profile_image
.
3. Limpiar cachés y asegurarte de que todo carga
php spark cache:clear
php spark config:clear
🛠 Cambios Técnicos Detallados
Validación en vistas
Ejemplo de uso en el header:
<a href="<?= base_url(route_to('user-profile')) ?>" class="nav-link d-flex align-items-center">
<img src="<?= user()->profile_image && file_exists(FCPATH . 'uploads/profiles/' . user()->profile_image)
? base_url('uploads/profiles/' . user()->profile_image)
: 'https://cdn.jsdelivr.net/npm/admin-lte@3.0.2/dist/img/avatar.png' ?>"
class="avatar-img img-circle bg-gray mr-2 elevation-<?= config('Boilerplate')->theme['navbar']['user']['shadow'] ?>"
alt="<?= user()->username ?>" height="32">
<?= user()->username ?>
</a>
Ejemplo en el sidebar:
<div class="image">
<img src="<?= user()->profile_image && file_exists(FCPATH . 'uploads/profiles/' . user()->profile_image)
? base_url('uploads/profiles/' . user()->profile_image)
: 'https://cdn.jsdelivr.net/npm/admin-lte@3.0.2/dist/img/avatar.png' ?>"
class="img-circle elevation-<?= config('Boilerplate')->theme['sidebar']['user']['shadow'] ?>"
alt="User Image">
</div>
Cambios en la Base de Datos
- Se añade el campo
profile_image
a la tabla de usuarios. - Este campo acepta
NULL
de manera nativa. - Si no se define, la vista renderiza automáticamente el avatar por defecto.
Compatibilidad
- Compatible con PostgreSQL y MariaDB.
- No requiere cambios manuales en tablas previas: el comando
php spark boilerplate:update
se encarga de todo.
🔒 Beneficios de Seguridad
- No se exponen rutas inválidas de imágenes.
- Se evita el error de “imagen rota”.
- Se normalizan los valores
NULL
. - Mejora la experiencia del usuario manteniendo consistencia en toda la interfaz.
📊 Ejemplo Visual del Cambio
Antes (versión anterior):
- Los usuarios sin foto aparecían con un ícono roto.
- Los campos
NULL
no eran validados correctamente.
Ahora (lav1.5.1):
- Todos los usuarios tienen avatar visible.
- Integración estética y funcional en Navbar y Sidebar.
📝 Changelog resumido
- ✅ Validación de
profile_image
en todas las vistas principales. - ✅ Avatar por defecto cuando el campo está vacío o
NULL
. - ✅ Compatibilidad con PostgreSQL y MariaDB.
- ✅ Nuevo comando
php spark boilerplate:update
. - ✅ Correcciones menores en estilos de AdminLTE.
🚀 Guía Paso a Paso de Migración
- Respaldar tu proyecto actual.
- Ejecutar:
composer update julio101290/boilerplate
- Correr la migración:
php spark boilerplate:updatecommand
- Limpiar caché.
- Verificar que los usuarios aparecen con sus fotos de perfil o con el avatar por defecto.
📌 Notas Finales
Este release v1.5.1 marca un paso adelante en la personalización de Boilerplate.
Ahora cada usuario tiene una experiencia más consistente y profesional dentro de la aplicación.
👉 Si quieres revisar el código y los commits de esta versión:
🔗 Release en GitHub
Deja un comentario