Integrar mailchimp con drupal usando un webform 6.3.x (Actualización)
En una entrada anterior les mostraba la forma de integrar un Webform de drupal y Mailchimp, pero desde la versión 6.3.x del módulo webforms ya no se incluye el apartado “Additional Processing” y por tal motivo se hace necesario crear un módulo que modifique el comportamiento del formulario hecho con webform.
Los pasos que deben seguir son:
- Instalar el módulo Mailchimp. (Asumo que ya tienen una cuenta de Mailchimp y lo han configurado correctamente)
- Instalar el módulo Devel. (Para trabajar comodamente con nuestro nuevo módulo)
- Instalar el módulo Webform.
- Crear el formulario que va a capturar los datos del usuario (email, nombre, …).
- Crear un módulo que modifique el formulario anterior.
Yo uso un módulo que he llamado customsite y su contenido es como sigue:
En el archivo customsite.info
name = Custom Site functions
description = Custom functions for this site.
core = 6.x
version = "6.x-1.0"
En el archivo customsite.module
<?php
// $Id: customsite.module
/**
* @file
* Custom functions for this site.
*/
function customsite_form_alter(&$form, &$form_state, $form_id) {
// Descomentar la siguiente linea para determinar el ID del formulario
// dsm($form_id);
if($form_id == 'webform_client_form_7') {
$form['#submit'][] = 'customsite_mysubmit';
}
}
function customsite_mysubmit($form, &$form_state) {
// Descomentar la siguiente linea para determinar la estructura de los campos del formulario
// dsm($form);
$data = variable_get( 'mailchimp_lists', NULL);
$lists = array();
if (!empty($data)) {
$lists = unserialize($data);
foreach ($lists as $l) {
$list = $l;
break;
}
$values = array();
$values['FNAME'] = $form['submitted']['nombres']['#value'];
$values['LNAME'] = $form['submitted']['apellidos']['#value'];
$values['EMAIL'] = $form['submitted']['email']['#value'];
$success = _mailchimp_subscribe_user($list, $values['EMAIL'], $values);
}
}
como pueden ver se hace uso del hook form_alter para llamar a la función customsite_mysubmit donde se hace uso de la función _mailchimp_subscribe_user.

Comentarios
Enviar un comentario nuevo