Cargando…

Esto está tardando más de lo esperado.

Volver al centro de ayuda

Agregar campos personalizados

Dale a tus usuarios campos extra — una nota, una fecha, un número, una lista de opciones, una imagen o un archivo — desde la lista de usuarios, sin código.

Los campos personalizados te dejan guardar información de un usuario que el formulario todavía no pide: una observación, una fecha de contrato, un número de empleado, un departamento elegido de una lista, la foto de un documento, un contrato firmado. Los agregas desde la lista de usuarios y, a partir de ese momento, aparecen en el formulario de cada usuario. Esta guía cubre quién puede agregarlos, cómo agregarlos, ordenarlos, cambiarlos y eliminarlos, cómo llenarlos y dónde guardan los tipos imagen y archivo lo que subes.

Quién puede agregarlos

El botón Campos personalizados aparece en la lista de usuarios, en /admin/users, para cualquiera cuyo rol pueda crear o editar usuarios. Nadie necesita un permiso nuevo: si puedes editar un usuario, puedes cambiar los campos de esa lista. Cada cambio se vuelve a comprobar al guardarse.

En este proyecto solo la lista de usuarios tiene campos personalizados. Un desarrollador puede activarlos en otra lista; consulta Para desarrolladores más abajo.

Agregar un campo

  1. Abre /admin/users y haz clic en Campos personalizados en la barra sobre la tabla.

  2. En Nuevo campo personalizado, escribe el Nombre. Es la etiqueta que muestra el formulario.

  3. Elige el Tipo:

    Tipo Qué capturas
    Texto Una línea de texto
    Número Un número
    Fecha Una fecha
    Lista de opciones Una opción elegida de una lista. Escribe las opciones en Opciones, una por línea
    Imagen Una imagen, guardada en tu biblioteca multimedia
    Archivo Cualquier tipo de archivo — un PDF, una hoja de cálculo, un documento, un audio — guardado en tu biblioteca multimedia
  4. Haz clic en Agregar campo. Se suma a la lista sobre el formulario.

Dos campos no pueden compartir nombre, y los nombres que solo difieren en mayúsculas, espacios o signos de puntuación cuentan como el mismo nombre: Delivery notes y delivery-notes se rechazan como repetidos.

Al cerrar la ventana, la página se recarga para que la lista y los formularios muestren el cambio.

La ventana Campos personalizados, con los campos que ya existen y el formulario Nuevo campo personalizado

Ordenarlos, cambiarlos y eliminarlos

En la lista de la ventana:

  • Las flechas suben o bajan un campo. El formulario muestra los campos en este orden.
  • El lápiz carga un campo en el formulario de abajo; cámbialo y haz clic en Guardar campo, o en Cancelar para dejarlo como estaba.
  • El bote de basura elimina el campo.

Eliminar un campo, o cambiar su tipo, lo quita del formulario y de las columnas, pero los valores que los usuarios ya tienen se conservan. Crea de nuevo un campo con el mismo nombre y vuelven a aparecer. Renombrar funciona igual: el nombre nuevo empieza vacío y los valores viejos se conservan bajo el nombre anterior.

Llenarlos

Crea o edita un usuario: los campos personalizados aparecen después de los campos propios del usuario, en el orden que definiste. Ninguno es obligatorio, así que un usuario se puede guardar con cualquiera de ellos vacío.

Un campo Imagen es un área que dice Suelta una imagen aquí o haz clic para elegir una, con la imagen actual debajo:

  • Suelta una imagen o haz clic en el área para elegirla. Se sube en ese momento, con una barra de progreso y un botón Cancelar, y toma el lugar de la imagen actual. Al guardar el formulario solo se conserva; no esperas la subida al guardar.
  • El bote de basura de una imagen recién subida (Descartar) la tira y regresa la actual.
  • En la imagen actual, Quitar de este registro la quita del usuario cuando guardes y la conserva en la biblioteca multimedia; una línea debajo del campo lo dice, con Eliminar también de la biblioteca multimedia y Deshacer. Eliminar de la biblioteca multimedia la borra cuando guardes; su línea ofrece Conservar en la biblioteca multimedia y Deshacer.
  • Reemplazar una imagen que subiste desde el campo pregunta lo mismo: la línea debajo del campo dice que la anterior sigue en la biblioteca multimedia, y Eliminar también de la biblioteca multimedia la borra al guardar. Eliminar el usuario conserva sus imágenes, así que al restaurarlo desde la papelera vuelven; eliminarlo para siempre las borra, junto con su carpeta en la biblioteca multimedia.
  • El campo debajo de las imágenes, Agregar ID de archivo directamente..., usa un archivo que ya está en la biblioteca multimedia, por su ID. Ese archivo se queda en la biblioteca cuando lo reemplazas o lo quitas.
  • Un archivo que no es imagen, o que pesa demasiado, se rechaza dentro del campo, con el motivo.

Un campo Archivo funciona igual, con un área que dice Suelta tus archivos aquí o haz clic para seleccionarlos. Acepta cualquier tipo de archivo, hasta el límite de subida del proyecto, que es de 110 MB salvo que tu proyecto lo haya cambiado. En la lista el archivo muestra su nombre y su tamaño; en la lista de usuarios y en la página del usuario se muestra como un ícono de documento con su nombre, en el que haces clic para abrir el archivo.

Dónde se guardan las imágenes y los archivos

Las imágenes y los archivos subidos a un campo de imagen o de archivo se guardan en la carpeta General, que pertenece al proyecto y no a ninguna cuenta. No cuentan contra tu espacio ni contra el de nadie más, así que un archivo grande nunca te impide guardar un usuario. Los encuentras en Medios, en el menú de administración, dentro de General, en una carpeta con el nombre de la lista marcada como campos personalizados, como Usuarios (campos personalizados), con una subcarpeta por registro. Su ruta conserva el nombre guardado de la lista, por ejemplo Users/15.

Las imágenes que ves en la lista y en la página del usuario se sirven en un tamaño más pequeño cuando hay uno disponible.

El campo recuerda qué archivo de la biblioteca de medios tiene, no la dirección del archivo, así que mover el sitio a otro dominio o a https deja todas las imágenes y los archivos en su lugar.

Cuando eliminas un campo de imagen o de archivo, o cambias su tipo o su nombre, la ventana pregunta primero ¿Borrar los archivos guardados?:

  • Borrar archivos borra los archivos de ese campo en todos los usuarios, en segundo plano. Si cambiaste el tipo o el nombre, el campo además queda vacío en todos los usuarios, así que un campo de imagen convertido en texto no muestra nada en lugar de un enlace a un archivo borrado.
  • Conservar archivos aplica el cambio y deja los archivos en la carpeta General, dentro de sus carpetas Users/{id}, donde puedes borrarlos a mano. Si el campo pasa a un tipo que no guarda archivos, como texto, cada usuario conserva como valor el enlace a su archivo.
  • Cancelar no cambia nada.

Mostrarlos en la lista

Cada campo personalizado se ofrece, sin marcar, en la ventana Columnas de la lista de usuarios. Márcalo para mostrarlo como columna. Estas columnas son de solo lectura: la lista no se puede ordenar ni filtrar por ellas. Un campo de imagen muestra una miniatura; un campo de archivo muestra un ícono de documento con el nombre del archivo, enlazado al archivo.

Importarlos desde Excel

Una columna que muestras se exporta con la lista, y el mismo archivo se puede volver a importar en /admin/users/import: cada columna de campo personalizado llena ese campo. Una celda vacía de texto, número, fecha o lista deja el campo vacío, y un archivo sin la columna de un campo deja ese campo como estaba. Una celda de imagen o de archivo lleva un enlace:

  • Un enlace al archivo que el usuario ya tiene, como lo lleva un archivo exportado, conserva el archivo tal cual, aunque la dirección del sitio haya cambiado desde entonces, así que exportar e importar de vuelta nunca duplica nada.
  • Cualquier otro enlace se descarga y se guarda en la carpeta General, reemplazando el archivo anterior. Un enlace que no se puede descargar marca esa fila como error, y la fila no guarda nada.
  • Una celda vacía conserva el archivo actual.

Para desarrolladores

Los campos personalizados vienen de Laravel Front. Una lista los tiene cuando su modelo tiene una columna JSON nullable para los valores y su recurso de Front la nombra:

public $custom_fields = 'custom_fields';

La lista de usuarios usa una columna dedicada custom_fields. Los tipos que ofrece la ventana están en config/front.php, en custom_field_types; este proyecto apunta el tipo imagen a App\Front\Inputs\MediaImage y agrega el tipo archivo, App\Front\Inputs\MediaFile, que son lo que envía las imágenes y los archivos a la biblioteca multimedia. La documentación del paquete está en el README de Laravel Front. Para el panel de administración en conjunto, consulta /help/the-admin-panel.