Hola amigos quiero compartir con ustedes este nuevo artículo en la que les enseñare a como modificar el formulario de contactos en Joomla 3.0
Sucede de que el campo contáctenos que viene en joomla por defecto tiene los siguientes campos:
Si queremos agregar el campo «Teléfono» , debemos de modificar los archivos siguientes:
directorio_de_mi_web es la carpeta que contiene el archivos de la web.
- En la Ruta: /var/www/directorio_de_mi_web/templates/gcsac/html/com_contact/default_form.php agregar:
<div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('contact_email'); ?></div> <div class="controls"><?php echo $this->form->getInput('contact_email'); ?></div> </div> <!-- Agregar esto --> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('contact_phone'); ?></div> <div class="controls"><?php echo $this->form->getInput('contact_phone'); ?></div> </div> <!-- Fin Agregar esto -->
- En caso de que la plantilla no tenga el directorio: /var/www/directorio_de_mi_web/templates/gcsac/html/com_contact los cambios se haran directamente en: /var/www/directorio_de_mi_web/components/com_contact/views/contact/tmpl/default_form.php
- En el archivo /var/www/directorio_de_mi_web/components/com_contact/models/forms/contact.xml agregar:
<field name="contact_email" .................. /> <field name="contact_phone" type="phone" id="contact-phone" size="30" description="COM_CONTACT_PHONE_DESC" label="COM_CONTACT_PHONE_LABEL" filter="string" required="true" /> <field name="contact_subject" ............... />
- En la ruta /var/www/directorio_de_mi_web/language/es-ES.com_contact.ini agregar al final:
COM_CONTACT_PHONE_LABEL="Teléfono" COM_CONTACT_PHONE_DESC="Teléfono de contacto"
- Para lograr que nos llegue el mensaje al correo del administrador incluido el teléfono debemos de modificar el archivo var/www/directorio_de_mi_web/components/com_contact/controllers/contact.php
............ $copytext = JText::sprintf('COM_CONTACT_COPYTEXT_OF', $contact->name, $sitename); $name = $data['contact_name']; $email = $data['contact_email']; $phone = $data['contact_phone']; //agregar esto $subject = $data['contact_subject']; $body = $data['contact_message']; // Prepare email body $prefix = JText::sprintf('COM_CONTACT_ENQUIRY_TEXT', JURI::base()); //$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); //agregar esto también $mail = JFactory::getMailer(); ......... ...
- Ver demo en: http://www.salazarcarlos.com/index.php/contactame
Eso es todo amigos espero que le sea de utilidad.
Gracias
16 comentarios
bumarcl · 28/01/2013 a las 5:20 am
a mi no sirbio o falto algo mas agregar
Casa Rural San Vicente de la Barquera · 31/01/2013 a las 11:11 am
Hice los cambios pero salían muchos errores en: http://www.lostaranos.es/contactar-casa-rural-cantabria.html
Al final he decidido no implantarlos.
Fabian · 28/02/2013 a las 12:48 am
logre modificar el formulario pero al momento de revisar el correo al q esta asignado me muestra el nombre asunto y mensaje pero no el nuemro telefonico, como podria hacer para que me lo muestre?
Gracias!!
Javier Salazar Carlos · 02/03/2013 a las 1:36 am
Hola amigo me faltó agregar la última parte que hace que llegue el mensaje completo incluido el Teléfono.
David · 02/04/2013 a las 10:46 pm
Gracias por la información, funciona perfectamente. Solamente hay que buscar la ubicación de los archivos que mencionas porque en mi plantilla tienen diferentes ubicaciones.
Muchas gracias!!
Saludos
Diseñador Web Freelance · 08/05/2013 a las 4:00 pm
Muy útil este post !!
La verdad es que se agradece encontrar este tipo de información para joomla!!!!
Moppye · 27/06/2013 a las 8:02 pm
Fantástico y maravilloso!!
Funciona a la perfección. Gracias por compartir tu sabiduría.
i · 11/10/2013 a las 6:17 pm
una pregunta, este nuevo dato se guarda en la bae de datos?
jacd · 19/11/2013 a las 3:11 pm
Gracias, funciona perfecto
Marianella · 25/11/2013 a las 3:20 pm
Excelente esta página…me funcionó de maravilla … Bendiciones
luza · 20/02/2014 a las 7:50 pm
Excelente, muchas gracias!!!
JANZ · 19/03/2014 a las 9:20 pm
Gracias funciona muy bien muchas gracias. Saludos
Dario · 06/10/2014 a las 10:42 am
Hola, he creado de la misma manera todo solo que con un check que pregunta si desea recibir información(novedades).
No logro hacer funcionar que me llegue el valor de un si o un no al mail si esta chequeado ese campo
mi código antes de enviar el mail es
if(isset($_POST[‘contact_info’]) && $_POST[‘contact_info’] == ‘true’)
{
$info = «SI»;
}
else
{
$info = «NO»;
}
Pero no funciona..alguna sugerencia?
creo que mi error es el código php que genere ya que todos los demás campos están creados tal cual el tutorial.
Muchas gracias, Saludos
050libre · 19/11/2015 a las 2:32 pm
Excelente tutorial
me gustaría agregar la opción para adjuntar un archivo, podrían orientarme para ello.
saludos
Jordix · 01/03/2016 a las 7:30 am
Estaba buscando esta información para un joomla 2.5 y es prácticamente lo mismo, funciona muy bien, gracias por el aporte.
Archivos modificados:
default_form.php, contact.xml y contact.php de la carpeta components.
Diego · 22/12/2016 a las 6:20 pm
quiero poner un mapa al lado