espero que les sirva y aporten con sus comentarios.(es un poco largo pero sirve mucho) Como recomendación hacer una copia de seguridad de su joomla. Lo que yo hago antes de instalar cualquier cosa o modificar archivos es: Creo un Subdominio en mi cpanel ej: copia.misitio.cl y en en mi instalador (Softaculous), en mis listados de instalaciones hago un clon de mi joomla a mi otro sitio y realizo todos los cambios. si la página funciona bien meto mano en mi sitio oficial. Se supone que se está utilizando el registro de usuarios que trae por defecto Joomla Paso 1 (insertar campo rut) Lo primero que tenemos que caer es agregar en nuestra base de datos de joomla un campo llamado rut. Ingresamos nuestro cpanel de nuestro sito y le damos click en phpMy Admin Se nos abre la ventana de nuestras bases de datos instaladas, seleccionamos la de nuestro joomla, y le damos click a la tabla xxx_users (xxx corresponde al prefijo de nustra base de datos). Se nos abrirá en el lado derecho nuestra tabla y le damos clic en es menú Estructura. Selecionamos en campo id Seleccionamos la opción después de id y le damos a continuar Se nos abre la ventana de crear el campo y colocamos los siguientes datos. Nomre: rut Tipo : VARCHAR Longitud: 15 Predeterminado : Personalisado Cotejamiento: utf8_general_ci y le damos a guardar. * Recuerden que esto se hace suponiendo que nuestro joomla esta recién instalado. si ya tenemos usuarios habrá que ingresar rut manualmente para no tener el campo nulo si son muchos usuari se pude insertar un rut a todos con sql.recuerden que modificar la base de datos es su responsabilidad. Fin de la primera parte Paso 2 (insertar Código validar rut) Buscamos el archivo /libraries/joomla/table/user.php para modificarlo. normalmente yo lo hago en mi cpanel con el administrador de archivos. mas menos en la línea 168 (las líneas de código varían). pero para que se guíen va después de esto. /** * Validation and filtering * * @ return boolean True if satisfactory * * @ since 11.1 */ public function check() { // Set user id to null istead of 0, if needed if ($this->id === 0) { $this->id = null; } Insertar a continuación el siguiente código de validación de nuestro rut ////////////////////////////////////////////////////////////////////////////// // validar rut if (trim($this->rut) == '') { $this->setError(JText::_('Ingrese RUT para su comprobante de pago')); return false; } if(strpos($this->rut,"-"; )==false){ $RUT[0] = substr($this->rut, 0, -1); $RUT[1] = substr($this->rut, -1); }else{ $RUT = explode("-", trim($this->rut)); } $elRut = str_replace(".", "", trim($RUT[0])); $factor = 2; for($i = strlen($elRut)-1; $i >= 0; $i--): $factor = $factor > 7 ? 2 : $factor; $suma += $elRut{$i}*$factor++; endfor; $resto = $suma % 11; $dv = 11 - $resto; if($dv == 11){ $dv=0; }else if($dv == 10){ $dv="k"; }else{ $dv=$dv; } if($dv == trim(strtolower($RUT[1]))){ // return true; }else{ $this->setError(JText::_('Ingrese RUT Valido')); return false; } $permitidos = "0123456789-kK."; for ($i=0; $i<strlen($this->rut); $i++){ if (strpos($permitidos, substr($this->rut,$i,1))===false){ $this->setError(JText::_('Ingrese RUT Valido')); return false; } } /////////////////////////////////////////////////////////////////////////////////////////////// y después sigue el código original. // Validate user information if (trim($this->name) == '') { $this->setError(JText::_('JLIB_DATABASE_ERROR_PLEASE_ENTER_YOUR_NAME')); return false; } if (trim($this->username) == '') { $this->setError(JText::_('JLIB_DATABASE_ERROR_PLEASE_ENTER_A_USER_NAME')); return false; } bla bla bla bla y todo eso, Guardamos y cerramos el archivo. Paso 3 (insertar campo en formulario) Buscamos el archivo /components/com_users/models/forms/registration.xml para modificarlo. en la línea 10 después de: <?xml version="1.0" encoding="utf-8"?> <form> <fieldset name="default" label="COM_USERS_REGISTRATION_DEFAULT_LABEL" > <field name="spacer" type="spacer" class="text" label="COM_USERS_REGISTER_REQUIRED" /> insertar el siguiente codigo //////////////////////////////////////////////////////////////////////////////////////////////////////// <field name="rut" type="text" description="Para Generar Factura Excenta" filter="string" label="RUT" required="true" size=15 /> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// la description="Para Generar Factura Excenta" la pueden cambiar según su sitio Paso 4 (campo rut cuando en usuario edita su perfil) Buscamos el archivo /components/com_users/models/forms/profile.xml para modificarlo. en la linea 9 //////////////////////////////////////////////////////////////////////// <field name="rut" type="text" description="Indentificacion de Usuario " filter="rut" label="RUT" required="true" readonly="true" size=15 /> //////////////////////////////////////////////////////////////// Nota: si miran el código la linea readonly="true" yo desactivo esta línea para que el rut solo se muestre y no esté disponible para su edición Recuerden insertar el código y acomodar todo (tabulaciones) para mantener un orden en nuestro código, es importante mantener las líneas de inserción para que no se modifique la posición del campo a la vista del usuario. Paso 5 (cuando el solo ve su perfil) Buscamos el archivo /components/com_users/views/profile/tmpl/default_core.php para modificarlo. en la lina 18 despues de este codigo: <fieldset id="users-profile-core"> <legend> <?php echo JText::_('COM_USERS_PROFILE_CORE_LEGEND'); ?> </legend> <dl class="dl-horizontal"> insertar lo sgt. <dt> <?php echo JText::_('RUT'); ?> </dt> <dd> <?php echo $this->data->rut; ?> </dd //////////////////////////////////////////////////////////////////////////////////////////////////////// Paso 6 (Variables de entorno) /libraries/joomla/user/authentication.php linea 379 public $rut = ''; /libraries/joomla/user/user.php linea 45 public $rut = null; Paso 7 (mostrar campo en el administrador) Buscamos el archivo /administrator/components/com_users/models/forms/user.xml para modificarlo. recuerden que este campo esta obligatorio no puede ser nulo. en el admin lo puede modificar. línea 4 después de: <?xml version="1.0" encoding="utf-8"?> <form> <fieldset name="user_details"> insertar /////////////////////////////////////////////// <field name="rut" type="text" description="Rut del cliente (admin)" label="RUT" required="true" size=15 /> ///////////////////////////////////////////////////////////////////// Bueno eso sería mi humilde aporte, fueron noches descifrando joomla y por ultimo.. VIVA MIER...........