Очень часто возникает необходимость организовать подписку на рассылку новостей сайта. В качестве новостей могут выступать, как, непосредственно сами новости, так и, например, анонс новых добавленных материалов на сайт.

Постановка задачи

Попробуем рассмотреть как это можно сделать на Drupal, на примере следующей задачи:

Есть сайт, интернет-магазин. На сайт периодический добавляются новые товары и новые акции. Нам необходимо реализовать механизм уведомлений пользователях о новых товарах и акциях в нашем интернет-магазине.

Решение задачи

Что ж, приступим к реализации. Наш интернет-магазине реализован на Ubercart и Drupal 6. Ubercart нам тут особо не важен, важна версия Drupal. Данное краткое руководство справедливо для Drupal 6, на семерке еще не тестировал данную схему, но как только проверю, то сразу же отражу результаті проверки в данном руководстве.

Используемые модули

В качестве системы уведомлений был найдет замечательный модуль Simplenews ветки 6.x-2.0 позволяющий формировать списки рассылок и подписываться/отписываться пользователям от этих списков, также дополнительно к Simplenews устанавливаем модуль Simplenews Digest  – который, как раз и позволяет автоматически создавать и отправлять рассылки нашим подписчикам. Но в нашем случае, так как мы
используем 2-ю ветку Simplenews, то нам нужно использовать измененную версию Simplenew Digest, которая работает с 2-й веткой Simplenews, которая доступна в виде патча и в виде уже готового к использованию модуля simplenews_digest.tgz Подробнее о особенностях интеграции Simplenews Digest с Simplenews 6.x-2.0 можно посмотреть здесь

Установка модулей

Устанавливаем модули стандартно, но с учетом того, что для ветки 6.x-2.0 нужно ставить модуль Simplenews Digest с патчем. Подробности смотрите выше.

Работа модуля Simplenews

Simplenews предназначен для создания содержимого, которое потом может быть разослано получателям — подписчикам. Данное содержимое можно группировать в различные типы (темы) рассылок. Модуль предоставляет интерфейс пользователям на подписку на рассылку, а также возможность отписаться от нее. Поддерживается возможность подписки как анонимными посетителями, так и зарегистрированными. Есть возможность выбора на какую рассылку подписываться в форме регистрации,  а также в блоке, который можно разместить на сайте.

Модуль позволяет для выбранных типов материала выполнять их рассылку подписанным на рассылку пользователям.

Работа модуля Simplenews Digest

Данное дополнение к модулю Simplenews позволяет автоматически создавать материл-рассылку, состоящий из анонсов выбранных типов материалов, которые были созданы в заданный промежуток времени, например, за прошлые сутки, и автоматически отправлять эту страницу с анонсами подписанным на рассылку пользователям.

Конфигурация модуля Simplenews

/admin/settings/simplenews

После включения модулей Simplenews и Simplenews Digest приступим непосредственно к конфигурации.

Во время включения модуля Simplenews создается автоматически тип материала для рассылки и словарь таксономии simplenews, термины которого, служат идентификаторами рассылки.

Вкладка «Основное»
/admin/settings/simplenews

Настройки данной вкладки позволяют указать какой тип материала будет использоваться для рассылки и определить словарь таксономии, который содержит названия наших рассылок.

  • Тип содержимого - Здесь указываем тип содержимого, к которое будет рассылаться. Мы оставляем тип рассылки по умолчанию
  • Словарь рассылок - оставляем тот словарь, который создан автоматом для рассылки.

Вкладка «По умолчанию»

  • Формат — простой.
  • Приоритет — нормальный. Приоритет письма для почтового сервера
  • Процесс отправки по умолчанию — отправить рассылку.
  • Тестовые адреса — укажите тестовый адрес для рассылки
  • Отправляемая информация — укажите почту и имя от кого будет отправляться рассылка

Вкладка «Подписки»

Указываем сообщения, которые будут показываться пользователям, при подписке/отписке от рассылки

Вкладка «Отправка»

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

Есть одна очень интересная особенность, замеченная у Drupal, при длинных русскоязычных темах письма и поле отправителя, система отправляет эти поля в нечитаемом виде. Решение данной проблеммы описано тут

Newsletter digest

Конфигурация автоматического формирования и рассылки дайджестов — анонса новых материалов на вашем сайте, подписанным посетителям.

  • Status report – содержит информацию о последнем результате работы рассылки, что и когда было отправлено в последний раз и отображает период, за который собирается материал для следующей рассылки
  • Modify time keeping records — позволяет задать время в Unix формате для тестирования работы модуля. Очень полезная функция, позволяет изменив время, например, на сутки назад, протестировать работу модуля
  • Digest newsletter selection — выбор названия рассылки, которая будет отправляться подписчикам
  • Digest newsletter settings — в котором часу будет выполняться рассылка
  • Frequency settings — указание частоты рассылки. Можно выбрать как ежедневную рассылку, так и еженедельную, ежемесячную и так далее.
  • Digest content — указываем тип материала. Подписчики будут уведомляться в рассылках о новых материалах выбранных типов.
    Можем также, дополнительно указать, какие термины таксономии должны быть в материалах выбранных типов.
  • Rename content types – позволяет переименовать тип материала.

Конфигурация типа материала для рассылки Newsletters Management

/admin/content/simplenews

Позволяет просмотреть материалы-рассылки, создать новые виды рассылок, а также просмотреть кто и на какую рассылку подписан.

Вкладка «Задачи» Отображает созданные рассылки и их статус

Вкладка «Рассылки» Позволяет создавать различные виды (названия) рассылок

Что мы получили в итоге

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

Временной интервал - сутки. Т.е. все то, что было создано за прошлые сутки, будет отправлено  виде красивого дайджеста подписчикам.

Модуль очень удобный, пришлось, правда, повозится с настройками, но результат того стоил

Ключевые слова: