Archivos e imágenes
El framework tiene cuatro tipos de campo para multimedia. Este capítulo explica cuándo usar cada uno y qué esperar.
Imagen única
Para una sola imagen por registro. Ejemplo: foto de perfil, foto principal de un producto.
Cómo funciona
En el formulario del registro aparece un botón "Agregar imagen". Al hacer clic:
- Se abre el selector de archivos de tu computador.
- Eliges la imagen (JPG, PNG, WebP, GIF).
- Se sube directamente al servidor y se muestra una miniatura al lado.
- Un botón "Quitar" permite reemplazarla.
En la base de datos se guarda la URL de la imagen.
En el listado se muestra la miniatura.
Optimización automática
El framework:
- Comprime la imagen para reducir su tamaño sin perder calidad visible.
- Genera versión WebP (más liviana) automáticamente.
- Los archivos se guardan en
cms/views/assets/files/.
Puedes desactivar la conversión WebP desde configuración si necesitas conservar los archivos originales tal cual.
Múltiples imágenes
Para una galería de varias imágenes en un mismo registro. Ejemplo: galería de fotos de una propiedad inmobiliaria, catálogo visual de un producto con varios ángulos.
Cómo funciona
En el formulario aparece un botón "Agregar imágenes". Puedes:
- Seleccionar varias imágenes a la vez desde el selector.
- Verlas como miniaturas.
- Quitar individualmente cada una.
En la base de datos se guarda un arreglo JSON con las URLs.
Límite de imágenes
Al crear la columna puedes fijar un máximo de imágenes. Ejemplo: máximo 10 fotos por propiedad. Si el usuario intenta subir más, se le avisa.
En el listado
Se muestra la primera imagen como miniatura y un contador ("+5 más").
En páginas públicas
Con el Generador de páginas puedes iterar por cada imagen y armar una galería completa.
Archivo (cualquier tipo)
Para documentos no visuales: PDFs, ZIP, DOCX, XLS, contratos, manuales.
- Se sube desde el gestor de archivos del CMS.
- En el listado aparece un enlace para descargar.
- Sin previsualización.
Tamaño máximo: depende de la configuración de PHP en tu servidor (upload_max_filesize, post_max_size). Por defecto 8 MB — si necesitas más, hay que ajustar php.ini.
Video
Similar a "Archivo" pero pensado para videos (MP4, MOV).
- Se sube desde el gestor de archivos.
- Se puede embeber en páginas públicas con un
<video>HTML.
:::warning Videos grandes Los videos suelen ser pesados y ocupar mucho espacio en tu servidor. Considera usar un servicio externo (YouTube, Vimeo, Cloudflare Stream) y guardar solo la URL como campo tipo "Enlace". :::
Gestor de archivos
Además de los campos por registro, el CMS tiene un gestor de archivos central donde puedes:
- Ver todos los archivos subidos.
- Subir archivos sueltos que no pertenezcan a ninguna tabla.
- Eliminar archivos huérfanos (los que ya no se usan en ningún registro).
- Organizar por carpetas.
Está bajo Archivos en el menú lateral (o "Media", según la configuración).
Dónde se guardan los archivos
En el servidor, dentro de cms/views/assets/files/. Se organizan por año/mes automáticamente.
Al hacer un respaldo o empaquetar tu sitio, estos archivos se incluyen.
Buenas prácticas
- Nombra las imágenes antes de subirlas.
camisa-azul-frente.jpges mejor queIMG_5432.jpg— ayuda al SEO. - Redimensiona antes si sabes que subirás miles de imágenes muy grandes. El framework las comprime, pero un archivo original de 10 MB tarda más en procesarse.
- No borres imágenes desde el gestor si están usadas en registros. Los enlaces quedarán rotos. Mejor limpia primero los registros que las referencian.
- Respaldos regulares. Los archivos ocupan espacio y son irrecuperables si se pierden.
¿Qué sigue?
- Relacionar tablas — el otro pilar de las tablas complejas.
- Galerías de imágenes — cómo mostrar galerías en tus páginas públicas.
- Las imágenes no se ven — si algo sale mal.