[Sergio Iglesias](https://sergioiglesias.net) · Blog sobre Joomla

# Cómo crear campos personalizados de usuario en Joomla 4

[ Añadir a fuentes preferidas ](https://www.google.com/preferences/source?q=sergioiglesias.net)   19 Enero 2022    [Tips Joomla](https://sergioiglesias.net/blog/joomla)   3 - 6 minutos    Visitas: 5529  -
- [ Formación Joomla ](https://sergioiglesias.net/etiquetas/formacion-joomla)
- [ Desarrollo Joomla ](https://sergioiglesias.net/etiquetas/desarrollo-joomla)
- [ Joomla4 ](https://sergioiglesias.net/etiquetas/joomla4)

  ![](https://sergioiglesias.net/images/blog/tips/campos-personalizados-usuario-joomla4.webp) Tal y como te comentaba la semana pasada, aquí va el artículo sobre **cómo crear campos personalizados de usuario en Joomla 4**.

Cómo crear campos personalizados de usuario en #Joomla4 #MejorConJoomla

  [  Compártelo ](https://www.linkedin.com/sharing/share-offsite/?url=https://sergioiglesias.net/blog/joomla/como-crear-campos-personalizados-de-usuario-en-joomla-4?akengage_cid=501 "Compártelo")   [  Postéalo ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fsergioiglesias.net%2Fblog%2Fjoomla%2Fcomo-crear-campos-personalizados-de-usuario-en-joomla-4%3Fakengage_cid%3D501&text=C%C3%B3mo%20crear%20campos%20personalizados%20de%20usuario%20en%20%23Joomla4%20%23MejorConJoomla "Postéalo")   [  Envíalo ](https://api.whatsapp.com/send?text=C%C3%B3mo%20crear%20campos%20personalizados%20de%20usuario%20en%20%23Joomla4%20%23MejorConJoomla%20-%20https%3A%2F%2Fsergioiglesias.net%2Fblog%2Fjoomla%2Fcomo-crear-campos-personalizados-de-usuario-en-joomla-4%3Fakengage_cid%3D501 "Envíalo")

 Antes de meternos en materia, te recomiendo un par de artículos en los que ya he hablado sobre campos personalizados en Joomla y sobre funcionalidades del apartado de usuarios:

- [Cómo usar un campo personalizado en un artículo Joomla](https://sergioiglesias.net/blog/joomla/como-usar-un-campo-personalizado-en-un-articulo-joomla)
- [Opciones de configuración en la creación de cuentas de usuario Joomla](https://sergioiglesias.net/blog/joomla/opciones-de-configuracion-en-la-creacion-de-cuentas-de-usuario-joomla)

Y ahora sí, vamos al lío.

Quizás hayas visto y leído mucho sobre los campos personalizados en Joomla, pero generalmente se habla sobre los campos personalizados de artículos.

Cabe decir que esta funcionalidad o característica la tienes también disponible tanto en Usuarios como en Contactos y que, con unas pocas líneas de código, la puedes integrar en tus propios componentes.

Asi que hoy, te voy a explicar los **campos personalizados para ususarios en Joomla 4**.

Para explicar esto voy a hacerlo a través de un pequeño ejemplo, que creo es una buena forma de verlo.

Vamos a suponer que para un usuario queremos tener una serie de datos adicionales: información personal (como apellidos y teléfono) e información profesional (empresa, puesto que de desempeña).

Esta información será obligatoria y la pediremos en el registro del usuario.

Antes de seguir con el ejemplo, te muestro cómo sería la página de registro de usuario:

![registro usuario](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/registro-usuario_1230.png?version=18af6e21cb41f781b09fc40fba7dfcea)

Como puedes ver se trata de una instalación de Joomla 4 con datos de ejemplo, sin ninguna extensión.

Vamos a crear toda la estructura necesaria para nuestro objetivo.

## Grupos de campos

Aunque no es obligatorio tener ningún grupo para que los campos funcionen, siempre es recomendable crearlos para tener bien organizados estos campos.

Como en el ejemplo hemos hablado de 2 "bloques" de información, lo mejor será crear estos 2 grupos.

Para ello vamos desde el menú principal del panel de administración a `Usuarios > Grupos de campos`.

Aquí veremos el listado de los grupos que tengamos creado y las opciones típicas de crear, editar y eliminar.

![grupos campos](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/grupos-campos_1230.png?version=c7547e8a58dedf63c4f5eac2253e1a13)

Aunque en la captura verás que ya los tengo creados, para crear uno es muy sencillo.

Pulsas el botón que se llama "Nuevo" y rellenas el formulario que aparece en la pantalla de creación:

![grupos campos crear](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/grupos-campos-crear_1230.png?version=8a78ed85b986d924f8808cd4997e3ea0)

Ahora que tenemos creados estos grupos, vamos a crear los campos.

## Campos personalizados de usuario en Joomla 4

Para crear los 4 campos que te he comentado que vamos a usar en el ejemplo tendremos que ir a `Usuarios > Campos` desde el menú principal del panel de administración.

Aquí veremos el listado de los campos que tengamos creados.

![campos usuarios](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/campos-usuarios_1230.png?version=21b0d0300dcf0e735bc4adfeb491d260)

Como ves en la captura, ya tengo creado el de Apellidos. Así que vamos a crear el resto.

Te muestro el de Teléfono puesto que los otros se harán de forma similar (y así puedes practicarlo).

Igual que se hace en los Grupos de campo, pulsamos el botón que se llama "Nuevo".

![campos usuarios crear](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/campos-usuarios-crear_1230.png?version=14a23f9861f79bac1a81d3847ea7a30e)

La captura anterior muestra la pantalla de creación/edición de un campo y te paso a explicar cada uno de los campos que la forman:

- **Título:** título del campo. *Ej. Teléfono*
- **Tipo:** seleccionamos el tipo de campo. *Ej. Text* (lo vamos a tratar como campo de texto, pero podríamos utilizar el tipo de campo específico "phone" si lo tuviéramos instalado - Puedes ver todos los que ofrece Tassos en su [Advanced Custom Fields](https://www.tassos.gr/joomla-extensions/advanced-custom-fields/freevspro))
- **Nombre:** nombre del campo (el que irá dentro del HTML "input"). *Ej. Dejamos que se genere automáticamente*
- **Etiqueta:** etiqueta del campo que aparecerá en la etiqueta HTML "label". *Ej. Dejamos que se genere automáticamente*
- **Descripción:** si queremos añadir una descripción del campo. *Ej. Dejamos vacío* (podríamos poner que se trata de un teléfono de contacto habitual que puede ser móvil o fijo, por ejemplo).
- **Requerido:** si queremos que sea o no obligatorio de rellenar en el formulario. *Ej. Marcamos sí*
- **Usar solo en subformulario:** el campo solo se mostrará en otro capo de tipo "Subform o Subformulario". *Ej. Marcamos no*
- **Valor predeterminado:** si queremos que haya ya un valor predeterminado. *Ej. Dejamos vacío* (si por ejemplo pidiéramos un teléfono fijo solo de Zamora, podríamos poner aquí ya su prefijo: 980).
- **Filtro:** seleccionamos el filtro que tendrá el campo. *Ej. Teléfono* (es un tipo de filtro específico para solicitar teléfonos, aunque podríamoos dejarlo vacío, o como enteros, por ejemplo).
- **Tamaño máximo (caracteres):** el número máximo de caracteres que el usuario puede introducir. *Ej. Dejamos vacío*
- **Estado:** seleccionamos si lo publicamos, despublicamos o enviamos a basura. *Ej. Publicado*
- **Grupo de campos:** seleccionamos al grupo al que pertenecerá. *Ej. Información personal* (para los otros 2 campos que quedarían habría que seleccionar el otro grupo).
- **Acceso:** seleccionamos los grupos que tienen acceso a este campo. *Ej. Public* (si por ejemplo no queremos que aparezca en el formulario de registro pero sí en la edición de perfil, seleccionamos Registered y ya lo tendríamos).

Y con esto el campo estaría creado.

Pero... quedan un par de cosas a tener en cuenta y que son **MUY IMPORTANTES**:

1. **Define bien el tipo de campo** que vas a utilizar porque una vez lo crees ya no podrás cambiarlo. Esto es importante tener en cuenta porque si, por ejemplo, añadimos el tipo de campo de "Phone" que te comentaba antes y quieres que el campo sea de ese tipo, tendrás que crear uno nuevo y la información que hubieran introducido ya los usuarios, no valdría.
    Eso sí, siempre podrías usar el [plugin SIS UserLock](https://sergioiglesias.net/blog/extensiones/sis-userlock-plugin-para-joomla-4-para-bloquear-usuarios-hasta) que veíamos la semana pasada para obligar a los usuarios ya registrados a rellenarlo si quieren navegar por la web ;-).
2. Tendrás que **dar permisos de edición de campo** a los grupos de usuarios que quieras que puedan rellenarlo.

### Dar permisos de edición de campo en Joomla 4

Hay que tener en cuenta que los usuarios del grupo "Public" por defecto no pueden editar estos campos.

Para que puedan rellenar estos campos, una vez que crees dicho campo, tendrás que ir a la pestaña de "Permisos" y darle ese permiso:

![permisos edicion campo](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/permisos-edicion-campo_1230.png?version=c43f40cc100eeb02e809bf68bdcd2ec4)

Como puedes ver en la captura, hay que seleccionar "Permitido" en el campo "Editar valor de campo personalizado".

Si no lo haces, el campo aparecerá en el formulario pero marcado como "disabled" y el usuario no podrá registrarse si lo pones como "Requerido".

Y ahora, te muestro cómo se vería el formulario de registro con los campos y grupos de campos que acabamos de crear:

![registro usuario campos](https://sergioiglesias.net/media/cached-resp-images//images/blog/tips/campos-personalizados-usuarios-joomla4/registro-usuario-campos_1230.png?version=a37e294ce03107bd185ac838ea558f38)

Puedes ver en la captura anterior que en el campo de "Cargo" le he puesto una descripción en el campo correspondiente.

---

Creo que con esto queda claro **cómo crear campos personalizados de usuario en Joomla 4** y cómo funcionan.

Espero que te haya ayudado, te sirva para tus proyectos y que, si te parece bien, lo compartas con otros usuarios ;-)

Cómo crear campos personalizados de usuario en #Joomla4 #MejorConJoomla

  [  Compártelo ](https://www.linkedin.com/sharing/share-offsite/?url=https://sergioiglesias.net/blog/joomla/como-crear-campos-personalizados-de-usuario-en-joomla-4?akengage_cid=501 "Compártelo")   [  Postéalo ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fsergioiglesias.net%2Fblog%2Fjoomla%2Fcomo-crear-campos-personalizados-de-usuario-en-joomla-4%3Fakengage_cid%3D501&text=C%C3%B3mo%20crear%20campos%20personalizados%20de%20usuario%20en%20%23Joomla4%20%23MejorConJoomla "Postéalo")   [  Envíalo ](https://api.whatsapp.com/send?text=C%C3%B3mo%20crear%20campos%20personalizados%20de%20usuario%20en%20%23Joomla4%20%23MejorConJoomla%20-%20https%3A%2F%2Fsergioiglesias.net%2Fblog%2Fjoomla%2Fcomo-crear-campos-personalizados-de-usuario-en-joomla-4%3Fakengage_cid%3D501 "Envíalo")

[ Añadir a fuentes preferidas ](https://www.google.com/preferences/source?q=sergioiglesias.net)Gratuito · Primer paso recomendado

### ¿No sabes bien en qué estado

está tu web Joomla?

Antes de decidir si hay que arreglar, migrar o mantener, conviene saber qué está pasando. Reviso el estado de tu web — versión de Joomla, extensiones y lo que se pueda ver — y te digo qué conviene hacer y en qué orden.

Versión de Joomla y ruta de actualización Estado de extensiones Plan de acción con recomendaciones Informe por email + HTML

[ Solicitar revisión gratuita sin compromiso ](https://sergioiglesias.net/revision-joomla-gratis)Respuesta en 24–48 h laborables

[![Sergio Iglesias](https://sergioiglesias.net/images/sergiois-joomla-web.png)](https://sergioiglesias.net/sobre-mi)##### Consultor Web Joomla Senior

Soy [Sergio Iglesias](https://sergioiglesias.net/sobre-mi). Ayudo a empresas, instituciones y profesionales a convertir su web en una herramienta real de negocio: segura, escalable y fácil de gestionar. Soy especialista en migraciones complejas de Joomla sin pérdida de datos, desarrollo de extensiones y plantillas a medida y ofrezco mantenimiento y evolución de tu CMS.

[](https://x.com/sergiois "Sergio Iglesias en X") [](https://www.linkedin.com/in/sergiois "Sergio Iglesias en Linkedin") [](https://github.com/sergiois "Sergio Iglesias en Github") [](https://sergiois.github.io/ "Extensiones Joomla de Sergio Iglesias")

### Suscríbete a mi newsletter

¿Te ha gustado el artículo? Suscríbete a mi newsletter y recibe contenido exclusivo.
Podrás hacer gratis un **Curso de desarrollo de plantillas Joomla**.

[Quiero apuntarme!](https://sergioiglesias.net/newsletter)

###  Un comentario

- [ ![](https://www.gravatar.com/avatar/7904510f0556bc54be0aba21ab28d16c709647816034210f5f39aa33280c57b3?s=48&r=G&d=mp) ](https://www.gravatar.com/7904510f0556bc54be0aba21ab28d16c709647816034210f5f39aa33280c57b3)

     Jose Alberto

     [ Sábado, 04 Junio 2022 12:39 ](https://sergioiglesias.net/blog/joomla/como-crear-campos-personalizados-de-usuario-en-joomla-4?akengage_cid=501#akengage-comment-501)

      Hola Sergio, gracias por compartir tus conocimientos.

    Me gustaría saber si sería posible modificar el formulario de registro, aparte de añadir campos, como explicas. Por ejemplo, el campo usuario, en mí caso, no tiene funcionalidad usarlo y me gustaría sustituirlo por el de Apellidos.

    El tema de los formularios, creo que es un aspecto a mejorar por parte de joomla, para que desde el panel del administrador, se pudieran configurar/crear en base a las necesidades de cada uno.

    Saludos, José Alberto.

###  Deja tu comentario

 En respuesta a Some User

 Nombre \*

 Dirección de email \*

 Texto del comentario \*

 Doy mi consentimiento para que mi información personal sea recopilada y procesada por este sitio para aceptar y mostrar mi comentario, así como para notificarme sobre las respuestas a él según la [Declaración de privacidad](https://sergioiglesias.net/politica-privacidad) del sitio. \*
