Anular componentes/com_users/models/forms/login.xml-Joomla 2.5?
joomla1.7 joomla1.6 (3)
He intentado anular el archivo login.xml
pero no importa lo que intento, la versión editada de mi carpeta de plantillas no aparece. ¿Cómo puedo anular este archivo?
Actualizar
He intentado template/<templatename>/html/com_users/models/login.xml
y otras variaciones como template/<templatename>/html/com_users/models/forms/login.xml
o template/<templatename>/html/com_users/forms/login.xml
etc. sin ningún éxito.
Aquí hay una solución:
http://forum.joomla.org/viewtopic.php?t=583380#p2375649
Acabo de probarlo en Joomla 2.5.3 y funciona.
Actualizar
aquí está la solución copiada de la URL anterior
Podemos anular la salida mediante el uso de la función de anulación de plantilla normal. Para mí, intento anular la página de inicio de sesión. Por lo tanto, tomo una copia de /templates/beez_20/html/com_users/login
en /templates/beez_20/html/com_users/login
.
Ahora tome una copia de /components/com_users/models/forms/login.xml
y colóquela en /templates/beez_20/html/com_users/login
también.
Luego edite /templates/beez_20/html/com_users/login/default.php
y agregue en la parte superior del formulario (agregué el mío justo después de la etiqueta del formulario) las siguientes líneas de código:
// to reset the form xml loaded by the view
$this->form->reset( true );
// to load in our own version of login.xml
$this->form->loadFile( dirname(__FILE__) . DS . "login.xml");
Del mismo modo, puede editar /templates/beez_20/html/com_users/registration/registration.xml
forma /templates/beez_20/html/com_users/registration/registration.xml
para modificar el formulario de registro.
Pude aprovechar la solución de Griiettner para Joomla 3. No quería permitir que los usuarios editen su dirección de correo electrónico en la pantalla de edición de perfil en la interfaz. Solo lo modifiqué un poco, copié este archivo:
components/com_users/models/forms/profile.xml
a:
/templates/YOUR_TEMPLATE/html/com_users/profile/forms/profile.xml
También copie este archivo:
components/com_users/views/profile/tmpl/edit.php
a:
/templates/YOUR_TEMPLATE/html/com_users/profile/edit.php
Y coloque este código en la parte superior del archivo edit.php justo después de:
defined(''_JEXEC'') or die;
Dejé fuera el $this->form->reset( true ); // to reset the form xml loaded by the view
$this->form->reset( true ); // to reset the form xml loaded by the view
y solo lo usamos:
// JOOMLA 3 if(!defined(''DS'')) define(''DS'', DIRECTORY_SEPARATOR); $this->form->loadFile( dirname(__FILE__) . DS . "forms" . DS . "profile.xml");
Esto me permitió mantener la información del perfil del usuario llena en el formulario de edición. Luego edité el archivo profile.xml y agregué:
readonly="true"
a los campos email1 y email2. Esto evita que el usuario edite.
La respuesta publicada en el foro es que @Shaz definitivamente funciona, pero para Joomla 3.X tienes que ajustar un poco, así que sería
Primero que nada, copia
/components/com_users/models/forms/login.xml
A
/templates/YOUR_TEMPLATE/html/com_users/login/forms/login.xml
Y coloque este fragmento de código en la parte superior
if(!defined(''DS'')) define(''DS'', DIRECTORY_SEPARATOR);
$this->form->reset( true ); // to reset the form xml loaded by the view
$this->form->loadFile( dirname(__FILE__) . DS . "forms" . DS . "login.xml"); // to load in our own version of login.xml
Esto hizo que el tictac para mí fuera un reconocimiento para el usuario @dylanjh que publicó la respuesta original en el foro de Joomla.