Sazanof.ru Веб-разработка MODx Letters - модуль подписки и рассылки

MODx Letters - модуль подписки и рассылки

Пакет доступен в Extras.

Сервисы почтовой рассылки сейчас очень популярны. Однако не все компании прибегают к платным услугам рассылки и подписки на новости. Главные задачи сервиса почтовых рассылок: ведение клиентской базы и рассылка им писем. Очень важным этапом подготовки к внедрению сервиса почтовых рассылок является правильная настройка домена для того, чтобы письма, отправленные на адреса, не попадали в спам. Сюда входит не только правильная настройка mx-записей, но и настройка dkim и spf.

MODx Letters - это бесплатное готовое дополнение для MODx Evolution, включающее в себя достаточно функциональный модуль для управления письмами и списком подписчиков, а также сниппет. Теперь перейду к более детальному описанию функциональности MODx Letters.

В этой разработке я использовал php шаблонизатор Twig, который мне показался довольно простым в освоении. На нем большая часть модуля написано, есль пара кусков, которые еще не адаптированы.

Интерфейс MODx Letters составлен с использованием библиотеки Twitter Bootstrap.

Интерфейс и описание функциональности

Вкладка "Подписчики". Здесь отображаются все подписчики, находящиеся в системе. Для удобного вывода подписчиком исользована библиотека jQuery Datatable. Объекты ajax'ом передаются в json формат и динамически подгружаются в таблицу.


Редактирование и добавление нового подписчика во всплывающем окне происходит в фоновом режиме.

В модуле также предусмотрен импорт подписчиков из файла csv. В ходе загрузки файла отображается прогресс отображения в реальном времени процесса записи в базу данных информации о подписчиках. Импорт тоже происходит аяксом.

В хэдере есть кнопка обновления и селект фильтрации по категориям.

Ну а ниже, соответственно футер. Это все базовый функционал jQuery DataTables.

Вкладка "Письма". Здесь собственно добавляются письма и редактируются. Письму обязательно надо указать категорию и выбрать шаблон. В противном случае изменения не сохранятся.

Если выбрать письмо, то будет доступна отправка письма, отправка письма по категориям (письмо отправится подписчикам, имеющим такую же категорию).

Функционал Отчетов пока не разработан!

Расширенная отправка

Вкладка "Категории". Тут собственно все понятно. Добавляем категорию - потом ее присваиваем подписчикам и письмам. Присваивать можно сразу несколько категорий.

Вкладка "Шаблоны". В коде шаблона пишем Ваш ранее сверстанный хэдер, футер и т.д. Указываем переменные. В переменную {{ content|raw }} вставляется тело письма.

Вкладка "Настройки". Все настройки отправки почты беруться из конфигурации MODx.

Сниппет Letters

Сниппет имеет ряд параметров.

<?php
/*
 * @lng
 * Язык
 * По умолчанию - russian-UTF8
 * Имена файлов в папке languages
 *
 * @tpl
 * Шаблон формф подписки.
 * По умолчанию так, как определено ниже.
 * Возможные значения - имя чанка в системе
 *
 * @tpl_unsuscribe
 * Шаблон отписки от рассылки
 * Значение: чанк из системы
 *
 * @cat_id
 * Список категорий через запятую, который будет присвоен подписчику
 * Пример 1 или 2,4 или 2,3,4,5
 *
 * @formname
 * Имя формы атрибута name
 * String
 */

1. Вводим email

2. Идем на почту

3. Кликаем на ссылку, ура, отписались.

Со временем статья пополнится.

Скачать MODxLetters


Комментарии: 5


blitz_v 30.01.2018 в 08:42 # Ответить
MODx Letters
В evolution 1.4 модуль ругается на отсутствие файла class.phpmailer.php и class.smtp.php Пришлось тянуть их из старых версий. Можно это поправить?
sazanof 30.01.2018 в 11:57 # Ответить
Да, можно, надо будет использовать modx->sendmail
Ольга 20.06.2018 в 10:14 # Ответить
Ссылка для отписаться
Здравствуйте. А {unsuscriber_link|raw } не срабатывает уже? Что-то пусто на её месте, и в подсказке в шаблоне только про {content|raw } сейчас есть. А как сделать ссылку для отписки от рассылки?
sazanof 20.06.2018 в 10:23 # Ответить
Можно использовать просто ссылку с гет параметром ?type=unsubscribe или посмотрите как в сниппете,, на которой сниппет вызывается с нужным параметром.
попробуйте ещё не unsuscriber_link , а unsubscriber_link
Ольга 25.06.2018 в 14:06 # Ответить
Я конечно же пробовала unsubscriber_link - эффект тот же, пустое место в письме.
В сниппете <form method="post" action="[sanitize_seed_e49cv0ii 6vsc0080ckcsocg8o~sanitize_seed _e49cv0ii6vsc0080ckcsocg8o[*san itize_seed_e49cv0ii6vsc0080ckcsocg8oidsanitize_seed_e49cv0ii6vsc0080ck csocg8o*]sanitize_seed_e49cv0ii 6vsc0080ckcsocg8o~sanitize_seed _e49cv0ii6vsc0080ckcsocg8o]?typ e=unsubscribe"> - как сделать эту ссылку рабочей в шаблоне письма? Испробованы варианты:
<a хреф ="our_site ru ?type=unsubscribe">UNS</a>
{sanitize_seed_e49cv0ii6vsc0080 ckcsocg8o{link id=$object.id}sanitize_seed_e49 cv0ii6vsc0080ckcsocg8o}
{sanitize_seed_e49cv0ii6vsc0080 ckcsocg8o{$object.urisanitize_s eed_e49cv0ii6vsc0080ckcsocg8o}}
{link id=$object.id}
{$object.uri?type=unsubscribe}
<a хреф =" {sanitize_seed_e49cv0ii6vsc0080 ckcsocg8o{$object.uri?type=unsu bscribe}sanitize_seed_e49cv0ii6 vsc0080ckcsocg8o}">UNS</a>
И т.п. Все эти варианты в письме выводятся просто текстом....

ОтменитьДобавить комментарий