Hoy vamos a escribir sobre cómo podemos personalizar el email que recibimos con los datos de un formulario creado con el módulo Webform en Drupal 7.
Partimos desde el punto en que tenemos ya creado el webform con los campos que nos interesan y configurados como queremos.
Por defecto recibimos los datos del formulario según configuremos el apartado de "Correos electrónicos" dentro del apartado "Formulario web" del webform.
Según la configuración por defecto que nos viene el email que recibiremos nos envía lo siguente:
Tenemos la opción de poder modificar lo que queremos que se reciba escribiéndolo directamente en el campo que viene predefinido, por ejemplo, añadiendo un texto que recibiremos siempre, eliminando el "Enviado por el usuario:", ...
Esto está muy bien, pero si queremos ir más allá de lo que nos permite este campo tendríamos que hacer lo siguiente:
- PASO 1:
Buscar en la carpeta "sites>all>modules>webform>templates" el archivo webform-mail.tpl.php y lo copiamos a la carpeta de templates de nuestro theme o subtheme, renombrándola como webform-mail-[tid].tpl.php donde el [tid] es el id del webform que queremos personalizar. - PASO 2:
Vemos el código del tpl que tenemos por defecto del del módulo webform y hacemos las modificaciones que queramos teniendo en cuenta que aquí ya podemos usar php, html, ... según necesitemos. - PASO 3:
Hasta aquí todo muy bien y fácil, solo nos queda vaciar la caché para que drupal coja este nuevo tpl.
¡Pero nos podemos llevar la sorpresa al probarlo y ver que no funciona!
El motivo es muy simple, pero que si no te fijas te puedes volver loco intentando entender por qué no usa tu tpl para el mail que se envía.
Se debe a que, en el momento que hemos modificado algo en el campo que vimos antes de la "Plantilla de Correo Electrónico" que nos ofrece la configuración del webform, ya nos cambia a Plantilla personalizada, por lo tanto, drupal ya no usará el tpl nuestro, sino que se basará en lo que tengamos en este campo de configuración, y no es tan difícil que en cualquier momento escribiéramos un simple espacio.
Por lo tanto, simplemente tenemos que asegurarnos que en la configuración tengamos marcado "Plantilla por defecto" y ya nos funcionará.
Espero que os sirva si os encontráis alguna vez con este problemilla.