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();

                        ......... ...

Eso es todo amigos espero que le sea de utilidad.

Gracias

Categorías: JOOMLA

Javier Salazar Carlos

Soy Ingeniero de Ingeniería de Sistemas, egresado de la Universidad Nacional del Callao, especialista en Tecnologías de la Información y de las Comunicaciones (TICs).

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

code