Ir al contenido principal

Condicionar el destinatario de email en Webform, Drupal

A pesar de que Drupal cuenta en su núcleo con el módulo 'Contact' para generar un formulario de contacto por defecto, lamentablemente no es todo lo flexible que quisiéramos, espero que en el futuro se maneje como una entidad a la cual le podamos agregar campos. Por eso, algunas veces tenemos que recurrir a Webform cuando necesitamos un formulario de contacto personalizado.
Como crear un formulario con el módulo Webform no es el asunto de esta entrada y existe bastante documentación. Lo que haremos será condicionar el correo electrónico de destino según el valor de un componente del formulario.
Por ejemplo, el sitio web corporativo de una empresa X que en su formulario de contacto se le ha agregado una lista desplegable con diferentes temáticas: facturación, asistencia técnica, otros temas. Cuando se agrega un componente 'select options' en un webform es necesario para cada opción, agregar un par 'llave|valor', y usualmente le asignamos un valor entero o algún código como las abreviaturas de países o idiomas por ejemplo: '1|azul' o 'ES|España'.
La clave está en agregar la dirección de correo a la cual queremos hacer llegar la entrada del webform según lo que el usuario seleccione en el componente 'select options'. Volvemos al ejemplo anterior y agregaríamos:

  • economia@miempresa.com|facturación
  • soporte@miempresa.com|asistencia técnica
  • atencioncliente@miempresa.com|otros temas
Luego en la pestaña 'E-mails' del webform seleccionamos en la primera columna de la tabla 'Email to' la opción de 'Component value' y le indicamos el nombre del componente del 'Select options' que determinará a que dirección de correo llegará cada entrada que se realice del webform según la selección del usuario.


Comentarios

Entradas populares de este blog

Drupal 7 con Location + GMap

Hoy he dedicado algunas horas a lograr tener funcionando los módulos de Location y GMap en un proyecto con Drupal 7 . En Drupal 6 los había hecho y no recuerdo haber pasado gran trabajo, salvo entender para qué y como funcionan ambos módulos. Pero para eso ya hay alguna información en internet así que no voy a entrar en ese punto. Cuando se instalan y configuran estos módulos en los tipos de contenidos que tengamos, o que se creen a partir de ese momento, tendremos la opción de permitir agregar 'localizaciones' a los nodos. Esto lo encotramos cuando editamos cada tipo de contenido, como mismo configuramos las opciones para los comentarios, la publicación, etc. de los nodos que se creen dentro de este contenido, como se ve a continuación: El problema que tenía era que cuando se creaba un contenido, en el formulario se podía georeferenciar sobre un mapa gracias a GMap, pero cuando se renderizaba el nodo mostraba los datos de Location como texto, es decir, la direcci

Apache, actualizando a OS X 10.9 Maverick

Algunos pequeños cambios respecto a Apache notamos cuando actualizas el sistema a OS X Maverick. Primero, ya no tenemos la opción de Web Sharing en la interfaz de configuración, así que hay que meterle mano al Terminal. Para arrancar Apache: sudo apachectl start para detenerlo: sudo apachectl stop para reiniciar: sudo apachectl restart  Una vez arrancado podemos abrir un explorador con http://127.0.0.1 y veremos que el servicio está corriendo, pero tendremos otra sorpresa. El servidor tiene el documento raíz en /Library/WebServer/Documents y posiblemente nosotros lo teníamos antes en ~/Sites así que tendremos que configurar nuestro fichero httpd.conf para apuntar al directorio que contendrá nuestros proyectos: sudo nano /private/etc/apache2/httpd.conf  Ya que estamos editando el fichero de configuración, es recomendable además, activar PHP descomentando la línea del módulo PHP5_module. Una vez ajustado a tus necesidades, recuerda reiniciar el servicio para que los c

Django I - Crear nuevo proyecto

Hacemos un resumen del tutorial oficial de Django recogiendo los principales pasos para comenzar con el framework. Para más detalle visitar la documentación oficial . Asumimos que ya Django está instalado, si no, hay bastante documentación online de como hacerlo en los distintos sistemas operativos. Versión: Si el framework está instalado, podemos ver la versión con: $ python -c "import django; print(django.get_version())" de no estar instalado veremos un error "No module named django". Comenzar un nuevo proyecto: Desde la consola situarse en el directorio donde queremos almacenar el código de nuestro proyecto y ejecutar: django-admin.py startproject mysite El nuevo proyecto creado tendrá una estructura: mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py dónde: mysite/ La carpeta raíz del proyecto tendrá el mismo nombre que utilizamos a la hora de crearlo pero se puede cambiar, no afecta en