Автоматическая подписка на рассылку после отправки вебформы
Материал из Umicms
Задача
Сделать так, чтобы после отправки вебформы введенный пользователем e-mail подписывался на рассылки.
Решение
Добавить в шаблон вебформы ячейку
<div> <input class="checkbox" type="checkbox" name="autosubscribe" id="autosubscribe" value="Подписаться на рассылки компании" checked="checked" /> <label class="inline" for="autosubscribe">Подписаться на рассылки компании</label> </div>
Разместить кастомные макросы, перехватывающие событие отправки вебформы, в директорию ~/classes/modules/dispatches/
__custom.php:
<?php abstract class __custom_dispatches { //TODO: Write here your own macroses public function autoSubscribe(umiEventPoint $event) { $email = $event->getParam("email"); $fio = $event->getParam("fio"); list($lname, $fname) = split(" ", $fio); if(getRequest("autosubscribe")) { return $subscriber_id = $this->import_subscriber($email, $fname, $lname); } else { return false; } } }; ?>
custom_events.php:
<?php $listener = new umiEventListener("webforms_post", "dispatches", "autoSubscribe"); ?>
