Viernes, 04 Junio 2010 17:40

Plantillas de emails para formularios de BreezingForms en Joomla

Escrito por 
CMS:  Joomla! |  Versión:  Todas |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  10 minutos


BreezingForms logo BreezingForms es una extensión muy potente, heredera de FacileForms. Una de las características que tiene es que permite definir formularios y después indicar la dirección de correo a donde se van a enviar estos formularios, además de almacenarlo en la base de datos.

Esto nos va a permitir agilizar el proceso bastante, además de disponer a los no programadores un método de envío de emails rápido y visual.

Por defecto, BreezingForms usa una plantilla de correo de tipo texto, en la que va colocando los campos que hayamos marcado para enviar por correo a la hora de crear el formulario. Vamos a ver como personalizar esta plantilla y crear nuevas plantillas para cada formulario, con los logos de nuestra empresa y nuestra imagen de marca.

Las plantillas se almacenan en el directorio "/administrator/components/com_facileforms/mailtpl/". Por defecto Breezing Forms viene con dos plantillas:

  1. mailtpl.txt.php, que es usada para enviar los formularios a la dirección que se haya marcado en la configuración global de BreezingForms o en los ajustes del formulario.
  2. mailbacktpl.txt.php , esta plantilla es usada para enviar los mails a las direcciones de los campos que hayan sido marcados como reenvio de correo. Útil para reenviar una copia del email al usuario.

Estas plantillas son de tipo texto, como se puede ver observando el sufijo TXT. Si creamos en el mismo directorio una plantilla con el sufijo HTML, podremos emplear etiquetas HTML y el mail se enviará de tipo HTML. BreezingForms usará la plantilla HTML en caso de encontrarla. No hay forma de decir que use una u otra, la forma de hacerlo es creando una plantilla HTML o no dependiendo de si la necesitamos.

Además también permite crear plantillas específicas para cada formulario, de forma que si tenemos, por ejemplo el formulario con nombre (nombre, no titulo) "contacto", podríamos crear una plantilla específica para este formulario creando el fichero:

contacto.txt.php
contacto _mailback.txt.php
o
contacto.html.php
contacto _mailback.html.php

Puedes fijarte en cómo está hecho el que viene por defecto para usar el mismo código PHP, y simplemente cambiar la cabecera HTML, el pie, poner algunos logos, etc. Os adjunto un ejemplo al que le he realizado unas modificaciones muy pequeñas para mostrar el logo de la empresa. Para darle un aspecto más profesional se pueden usar plantillas gratuitas para emails que hay en internet.

administrator/components/com_facileforms/mailtpl/mailtpl.html.php


<?php defined('_JEXEC') or die('Direct Access to this location is not allowed.');  ?>
  <html>
  <body>
  <img src="http://demoscp6.webempresa.eu/pack14/templates/ja_purity/images/logo.png" alt="logo webempresa" />
  <br/>
  <?php if ($RECORD_ID != ''): ?>
  <?php echo $PROCESS_RECORDSAVEDID?> <?php echo $RECORD_ID ?><?php echo $NL ?> <br />
  <?php endif; ?>
  <?php echo $PROCESS_FORMID?>: <?php echo $FORM ?><?php echo $NL ?><br />
  <?php echo $PROCESS_FORMTITLE ?>: <?php echo $TITLE ?><?php echo $NL ?><br />
  <?php echo $PROCESS_FORMNAME ?>: <?php echo $NAME ?><?php echo $NL ?><br />
  <?php echo $PROCESS_SUBMITTEDAT ?>: <?php echo $SUBMITTED ?><?php echo $NL ?><br />
  <?php echo $PROCESS_SUBMITTERIP ?>: <?php echo $IP ?><?php echo $NL ?><br />
  <?php echo $PROCESS_SUBMITTERID ?>: <?php echo $SUBMITTERID ?><?php echo $NL ?><br />
  <?php echo $PROCESS_SUBMITTERUSERNAME ?>: <?php echo $SUBMITTERUSERNAME ?><?php echo $NL ?><br />
  <?php echo $PROCESS_SUBMITTERFULLNAME ?>: <?php echo $SUBMITTERFULLNAME ?><?php echo $NL ?><br />
  <?php echo $PROCESS_PROVIDER ?>: <?php echo $PROVIDER ?><?php echo $NL ?><br />
  <?php echo $PROCESS_BROWSER ?>: <?php echo $BROWSER ?><?php echo $NL ?><br />
  <?php echo $PROCESS_OPSYS ?>: <?php echo $OPSYS ?><?php echo $NL ?><br />
 
  <table>
  <?php foreach ($MAILDATA as $DATA): ?>
    <tr>
    <td> <?php echo $DATA[_FF_DATA_TITLE]?>:</td><td> <?php echo $DATA[_FF_DATA_VALUE]?><?php echo $NL ?></td>
  </tr>
  <?php endforeach; ?>
  </table>

  </body>
  </html>


Espero que este truco os sirva de ayuda para personalizar vuestros formularios de BreezingForms. Os dejo unos links a la página de los creadores de BreezingForms de donde podéis sacar más información:
Crear plantillas personalizadas en BreezingForms (inglés)
Cómo funcionan las plantillas en BreezingForms (inglés)
Notificaciones de email personalizadas en BreezingForms (hilo del foro en inglés)
Formateando mensajes de email en BreezingForms (hilo del foro en inglés)


¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



David Noguera

Miembro del equipo de sistemas de webempresa.com Google+