Hola,
Tras el comentario de Lucas en otros post del Foro acerca de la implementación de nuevos campos en el formulario de Registro de Usuarios en Joomla! con el plugin {usermeta}, me puse a repasar su funcionamiento que voy a tratar de explicar aquí de forma sencilla ya que este no requiere de conocimientos específicos en PHP para su uso.
Instalación y configuración del plugin UserMeta para añadir más campos al registro de usuarios de Joomla! sin intervenir en la base de datos.
Descargamos el plugin UserMeta 1.6.3 de la siguiente url:
- http://joomlacode.org/gf/project/usermeta/frs/
Localizamos y editamos el archivo siguiente:
- plugins/system/usermeta/user.xml
Aquí añadimos los params que necesitemos incorporar a nuestros campos de Registro de Usuarios, por ejemplo.
Ejemplo:
...
Guía de Consulta de Tipo de Campos para Joomla: http://docs.joomla.org/Standard_form_field_types
Modificamos el archivo localizado en la siguiente ruta:
- components/com_user/views/register/tmpl/default.php
Insertamos el tag del plugin {usermeta} en la línea donde queramos que aparezcan estos campos (línea 72 si no se han realizado otros hacks en ese archivo)
Ejemplo:
{UserMeta}
... en el próximo post ilustraré estos resultados con alguna captura y un vídeo por si aún no quedo claro, y después esto mismo pero interviniendo en la base de datos jos_usermeta.
Saludos
P.D.: La única pega que he tenido es que estos campos no son visibles en el formulario de Registro, solamente desde el backend en el Gestor de Usuarios, al editar un usuario y también cuando un usuario que se ha registrado accede desde la página a "Mis datos" y los edita, entonces le aparecen estos nuevos campos complementarios para cumplimentar. Si alguien tiene una sugerencia será bienvenida.
Hola Gnumax,
Es raro lo que comentas sobre que en el registro no te ha funcionado, no estarás usando una plantilla que tenga un override del formulario de registro de usuarios?
Comentas que has tocaso este archivo:
- components/com_user/views/register/tmpl/default.php
Si está bien modificado tendrían que verse los campos en el proceso de registro.
Hola
Efectivamente el detalle de vigilar si la plantilla utiliza alguna personalización de módulos mediante la técnica "override" es importante tener en cuenta, cosa que en mi caso no tuve.
Tras cambiar a una plantilla que no utilice "override" como fue la JA Purity los campos aparecen, como debe ser, en el formulario de Registro.
Saludos
Buenos días,
He seguido el tutorial y todo perfecto, mi única duda es la siguiente:
Los campos añadidos por usermeta no son obligatorios para registrar al usuario, y yo lo que quiero es que si sean obligatorios, ¿Se os ocurre como conseguir que sean obligatorios?
Gracias!
Hola Alex, prueba añadiendo este parámetro al campo:
class="required"
lo he visto aquí:
It appears that if you add class="required" to the field definition in the user.xml file, you get required behavior in the registration form - though not the user details form.
Here's what one of my entries looks like in that fileThe user must make an entry into this field now during registration, however they can clear it out and leave it blank when editing the user details page.
I suspect this is the case because the registration form uses the required class and we are simply hitching a ride there.
This works for my immediate needs - so I'm all set for now :).
-t
Saludos
Muchas gracias! Ha funcionado a la perfección. Ahora voy a ponerle mensajes de error para que no de "la callada como respuesta".
Un saludo!