Joomla: Modificar Formulario de contacto
Al necesitar personalizar nuestro formulario de contacto para agregar por ejemplo "Teléfono", solo necesitamos trabajar con 4 archivos, 3 de ellos ubicados en /components/com_contact/ y el último he importante /language/es_ES/ .
Es importante hacer una copia de cada uno de los archivos con que estamos trabajando, o si utilizas algún controlador de versiones sería mucho mejor, en mi caso git. Me explico:
Archivos a utilizar y su ubicación:
form->getInput('contact_email'); ?>
Agregar:
Así saldrá la etiqueta y el campo nuevo luego de Email*.
Justo desdepues de:
Agregar:
Luego comentar la línea:
Y agregar:
$body = $prefix."\n".$name.' <'.$email.'> Teléfono: <'.$phone.">\r\n\r\n".stripslashes($body);
Quedando de la siguiente forma:
//$body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
$body = $prefix."\n".$name.' <'.$email.'> Teléfono: <'.$phone.">\r\n\r\n".stripslashes($body)
Ubicar el siguiente párrafo:
type="email"
id="contact-email"
size="30"
description="COM_CONTACT_EMAIL_DESC"
label="COM_CONTACT_EMAIL_LABEL"
filter="string"
validate="contactemail"
required="true"
/> Y debajo de este agregar:
type="phone"
id="contact-phone"
size="30"
description="COM_CONTACT_PHONE_DESC"
label="COM_CONTACT_PHONE_LABEL"
filter="string"
required="true"
/>
Nos falta es el lenguaje, así que vamos a:
Ya con esto tenemos nuestro formulario de la siguiente manera:
Es importante hacer una copia de cada uno de los archivos con que estamos trabajando, o si utilizas algún controlador de versiones sería mucho mejor, en mi caso git. Me explico:
Archivos a utilizar y su ubicación:
- /var/www/mi_sitio_web/components/com_contact/tmpl/default_form.php
- /var/www/mi_sitio_web/components/com_contact/controllers/contact.php
- /var/www/mi_sitio_web/components/com_contact/models/forms/contact.xml
- /var/www/mi_sitio_web/language/es-ES.com_contact.ini
- default_form.php
Agregar:
form->getLabel('contact_phone'); ?> form->getInput('contact_phone'); ?>
Así saldrá la etiqueta y el campo nuevo luego de Email*.
- contact.php
Justo desdepues de:
$email = $data['contact_email'];
Agregar:
$phone = $data['contact_phone'];
Luego comentar la línea:
$body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
Y agregar:
$body = $prefix."\n".$name.' <'.$email.'> Teléfono: <'.$phone.">\r\n\r\n".stripslashes($body);
Quedando de la siguiente forma:
//$body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
$body = $prefix."\n".$name.' <'.$email.'> Teléfono: <'.$phone.">\r\n\r\n".stripslashes($body)
- contact.xml
Ubicar el siguiente párrafo:
id="contact-email"
size="30"
description="COM_CONTACT_EMAIL_DESC"
label="COM_CONTACT_EMAIL_LABEL"
filter="string"
validate="contactemail"
required="true"
/>
id="contact-phone"
size="30"
description="COM_CONTACT_PHONE_DESC"
label="COM_CONTACT_PHONE_LABEL"
filter="string"
required="true"
/>
Nos falta es el lenguaje, así que vamos a:
- es_ES.com_contact.ini
COM_CONTACT_PHONE_LABEL="Teléfono"
COM_CONTACT_PHONE_DESC="Teléfono de contacto"
Ya con esto tenemos nuestro formulario de la siguiente manera: