Вы здесь

Simplenews

Создание и управление рассылками.

Модуль Simplenews позволяет создавать, публиковать и отправлять рассылки подписанным на них пользователям. HTML-письма могут отправляться при использовании модуля Mime Mail или HTML Mail.

Отметьте: отправка рассылки при запуске cron (cron.php) требует, чтобы базовый URL (файл settings.php, переменная $base_url) был настроен корректно. В противном случае, ссылки внутри рассылки работать не будут.

Возможности

  • Использование документа для создания выпуска рассылки. При включении, модуль добавит на сайт тип документов «Выпуск рассылки», который можно использовать для рассылки по умолчанию. Если вы хотите использовать документы другого типа, то перейдите на страницу правки нужного типа документов и в секции «Публикация» отметьте поле «Использовать для рассылки». После этого, в документы этого типа будет добавлено новое поле, в котором будут показываться существующие на сайте рассылки и при добавлении выпуска можно выбрать рассылку, в которую он должен быть включен
  • Для классификации рассылок есть возможность добавлять их неограниченное количество и параметры каждой добавленной рассылки настраиваются независимо от любой другой
  • Блок и страница с формой подписки/отписки от рассылки. Для каждой рассылки
  • Управление подписчиками, включая массовую подписку, отписку и экспорт
  • Выбор количества писем отправляемых при запуске cron
  • Выбор варианта подписки на рассылку при регистрации на сайте нового пользователя. Форма подписки может показываться на странице регистрации и пользователь может выбирать – подписаться или нет на рассылку. Кроме того, подписка на рассылку может быть сделана автоматической без запроса об этом пользователя
  • Поддержка мультиязычной рассылки на основе стандартной возможности перевода документа. Документ переводится на любой включенный на сайте язык и подписчику отправляется документ на предпочитаемом им языке. Предпочитаемый язык выбирается на странице настройки аккаунта. Для анонимного посетителя предпочитаемый язык устанавливается в зависимости от того, на каком языке был интерфейс сайта в момент оформления им подписки
  • Несколько вариантов подтверждения подписки/отписки от рассылки. Подтверждение может быть включено или выключено.
  • Детальная настройка шаблона рассылки. Готовые шаблоны можно скопировать из папки модуля в папку своей темы и настроить их нужным образом
  • Возможность синхронизации аккаунта пользователя с оформленными им подписками. Например, при блокировании аккаунта подписки могут деактивироваться, а при разблокировании аккаунта вновь активироваться; при удалении аккаунта пользователя почтовый адрес также может удаляться из списка рассылки
  • Интеграция с модулем Rules
  • Интеграция с модулем Views

Установка

  • Скачайте и распакуйте проект в папку модулей
  • Включите модуль: Модули
  • Настройте права доступа: Пользователи → Права
  • Настройте рассылку: Конфигурация → Веб-сервисы → Рассылки
  • Укажите тип документов, который будет использоваться для рассылки: Структура → Типы документов → [правка] → Публикация
  • Добавьте и настройте рассылку: Конфигурация → Веб-сервисы → Рассылки → Добавить рассылку
  • Если для рассылки включен блок, то разместите его в нужном месте на странице управления блоками: Структура → Блоки. Для просмотра формы подписки в блоке или для просмотра ссылки на форму подписки, у пользователя должно быть право «подписка на рассылку»

Некоторые страницы, на которых модуль размещает свои формы:

  • Управление рассылками: admin/config/services/simplenews
  • Рассылки: admin/content/simplenews
  • Подписка на рассылки: admin/people/simplenews
  • Аккаунт пользователя: user/[uid]/edit/simplenews
  • Ваша подписка на рассылки: newsletter/subscriptions
  • Отдельная рассылка: newsletter/[sid]

Кроме того, список рассылок, на которые пользователем оформлена подписка, показывается на странице профиля. Также здесь показывается ссылка для перехода к управлению подпиской на рассылки.

Темизация

Темизировать рассылку можно воспользовавшись специальными шаблонами. Скопируйте .tpl.php-файлы из папки theme (находится в папке модуля) в папку своей темы. Темизацию можно выполнить как в целом, так и для каждой рассылки:

  • simplenews-newsletter-body.tpl.php
  • simplenews-newsletter-body--[tid].tpl.php
  • simplenews-newsletter-body--[view mode].tpl.php
  • simplenews-newsletter-body--[tid]--[view mode].tpl.php
  • [tid]: системное название рассылки
  • [tid]: email-plain, email-html, email-textalt. Пример: simplenews-newsletter-body--1--email-plain.tpl.php

Темизация нижней колонки рассылки:

  • simplenews-newsletter-footer.tpl.php
  • simplenews-newsletter-footer--[tid].tpl.php
  • simplenews-newsletter-footer--[view mode].tpl.php
  • simplenews-newsletter-footer--[tid]--[view mode].tpl.php
  • [tid]: системное название рассылки
  • [tid]: email-plain, email-html, email-textalt. Пример: simplenews-newsletter-footer--1--email-plain.tpl.php

Файлы шаблонов содержат справку и все доступные переменные. В зависимости от того, как будут отправляться письма (например, при каком событии срабатывает cron), может использоваться либо стандартная, либо настроенная управляющим тема. Чтобы предотвратить это, Simplenews поддерживает настройку темы письма из модуля Mailsystem. Установите его, выберите тему письма и шаблон рассылки из этой темы будет использоваться независимо от того, какие темы ещё включены.

Для темизации блока оформления подписки/отписки, используйте файл simplenews-block.tpl.php. Для этого, скопируйте его из папки модуля в папку своей темы и отредактируйте содержание. Файл содержит справку с перечислением всех доступных переменных:

<?php

/**
 * @file
 * Default theme implementation to display the simplenews block.
 *
 * Скопируйте этот файл в папку своей темы, чтобы темизировать блок рассылки самостоятельно.
 * Переименуйте файл в simplenews-block--<идентификатор-рассылки>.tpl.php, чтобы переопределить его для определённой рассылки через её идентификатор.
 *
 * Доступные переменные:
 * - $subscribed: текущий пользователь подписан на рассылку
 * - $user: текущий пользователь залогинен
 * - $newsletter_id: идентификатор рассылки
 * - $message: объявление (Стандартно: «Будьте в курсе наших последних новостей!»)
 * - $form: форма подписки на рассылку *1
 * - $subscription_link: ссылка на форму подписки на странице 'newsletter/subscriptions' *1
 * - $newsletter_link: ссылка на список выпусков этой рассылки
 * - $issue_list: list of newsletter ids *2
 * - $rssfeed: RSS-лента рассылки (series) *2
 * Note 1: требуется наличие права «подписка на рассылку»
 *
 * Модуль Simplenews управляет показом содержания блока.
 * Следующие переменные доступны для этой цели:
 *  - $use_form       : TRUE = показывать форму; FALSE = показывать ссылку на example.com/newsletter/subscriptions
 *  - $use_issue_link : TRUE = показывать ссылку на список выпусков рассылки
 *  - $use_issue_list : TRUE = показывать список выпусков рассылки
 *  - $use_rss        : TRUE = показывать RSS-ленту
 *
 * @see template_preprocess_simplenews_block()
 */
?>

  <?php if ($message): ?>
    <p><?php print $message; ?></p>
  <?php endif; ?>

  <?php if ($use_form): ?>
    <?php print render($form); ?>
  <?php elseif ($subscription_link): ?>
    <p><?php print $subscription_link; ?></p>
  <?php endif; ?>

  <?php if ($use_issue_link && $newsletter_link): ?>
    <div class="issues-link"><?php print $newsletter_link; ?></div>
  <?php endif; ?>

  <?php if ($use_issue_list && $issue_list): ?>
    <div class="issues-list"><?php print $issue_list; ?></div>
  <?php endif; ?>

  <?php if ($use_rss): ?>
    <?php print $rssfeed; ?>
  <?php endif; ?>

Блок рассылки может быть темезирован как для всех рассылок – simplenews-block.tpl.php, так и для каждой рассылки в отдельности – simplenews-block.tpl--[tid].php

simplenews-multi-block.tpl.php:

<?php
// $Id: simplenews-multi-block.tpl.php,v 1.6 2009/01/02 12:01:17 sutharsan Exp $

/**
 * @file
 * Default theme implementation to display the simplenews block.
 *
 * Copy this file in your theme directory to create a custom themed block.
 *
 * Available variables:
 * - $subscribed: the current user is subscribed to the newsletter
 * - $user: the current user is authenticated
 * - $message: announcement message (Default: 'Stay informed on our latest news!')
 * - $form: newsletter subscription form
 *
 * @see template_preprocess_simplenews_multi_block()
 */
?>


  <?php if ($message): ?>
    <p><?php print $message; ?></p>
  <?php endif; ?>

  <?php print render($form); ?>

simplenews-newsletter-body.tpl.php:

<?php

/**
 * @file
 * Default theme implementation to format the simplenews newsletter body.
 *
 * Copy this file in your theme directory to create a custom themed body.
 * Rename it to override it. Available templates:
 *   simplenews-newsletter-body--[tid].tpl.php
 *   simplenews-newsletter-body--[view mode].tpl.php
 *   simplenews-newsletter-body--[tid]--[view mode].tpl.php
 * See README.txt for more details.
 *
 * Available variables:
 * - $build: Array as expected by render()
 * - $build['#node']: The $node object
 * - $title: Node title
 * - $language: Language code
 * - $view_mode: Active view mode
 * - $simplenews_theme: Contains the path to the configured mail theme.
 * - $simplenews_subscriber: The subscriber for which the newsletter is built.
 *   Note that depending on the used caching strategy, the generated body might
 *   be used for multiple subscribers. If you created personalized newsletters
 *   and can't use tokens for that, make sure to disable caching or write a
 *   custom caching strategy implemention.
 *
 * @see template_preprocess_simplenews_newsletter_body()
 */
?>

<h2><?php print $title; ?></h2>
<?php print render($build); ?>

simplenews-newsletter-footer.tpl.php:

<?php

/**
 * @file
 * Default theme implementation to format the simplenews newsletter footer.
 *
 * Copy this file in your theme directory to create a custom themed footer.
 * Rename it to simplenews-newsletter-footer--[newsletter-id].tpl.php to override it for a
 * newsletter using the newsletter id.
 *
 * @todo Update the available variables.
 * Available variables:
 * - $build: Array as expected by render()
 * - $build['#node']: The $node object
 * - $language: language code
 * - $key: email key [node|test]
 * - $format: newsletter format [plain|html]
 * - $unsubscribe_text: unsubscribe text
 * - $test_message: test message warning message
 * - $simplenews_theme: path to the configured simplenews theme
 *
 * Available tokens:
 * - [simplenews-subscriber:unsubscribe-url]: unsubscribe url to be used as link
 *
 * Other available tokens can be found on the node edit form when token.module
 * is installed.
 *
 * @see template_preprocess_simplenews_newsletter_footer()
 */
?>

<?php if (!$opt_out_hidden): ?>
  <?php if ($format == 'html'): ?>
    <p class="newsletter-footer"><a href="[simplenews-subscriber:unsubscribe-url]"><?php print $unsubscribe_text ?></a></p>
  <?php else: ?>
  -- <?php print $unsubscribe_text ?>: [simplenews-subscriber:unsubscribe-url]
  <?php endif ?>
<?php endif; ?>

<?php if ($key == 'test'): ?>
- - - <?php print $test_message ?> - - -
<?php endif ?>

Отправка писем

Cron требуется для отправки большому количеству получателей. Если у вас среднее или большое количество подписчиков (например, больше 500 человек), всегда используйте cron для отправки рассылки.

Чтобы использовать cron:

  • Отметьте поле «Использовать cron для отправки рассылки»
  • Выберите количество писем отправляемых за один раз. Слишком большое значение может привести к перегрузке почтового сервера или вы можете достичь ограничений хостинга. Узнайте эти данные у своего хостера

Чтобы не использовать cron:

  • Снимите отметку с поля «Использовать cron для отправки рассылки»
  • Все рассылки будут отправляться сразу после сохранения документа. Если не все письма могут быть отправлены в рамках установленного значения php execution time, остальные будут отправлены при следующем запуске cron

Эти параметры находятся на странице: Конфигурация → Веб-сервисы → Рассылки → Параметры → Отправка писем.

Подтверждение подписки/отписки

Возможность подтверждения подписки/отписки на рассылку:

  • Скрыто: рассылка не показывается в форме подписки. Нижней колонки с возможностью отписки нет
  • Одиночный: пользователи подписываются/отписываются немедленно, письмо для подтверждения не отправляется
  • Удвоенный: при подписке/отписке через форму подписки, анонимные посетители получают письмо для подтверждения подписки/отписки; зарегистрированные пользователи подписываются/отписываются немедленно

Отметьте: в некоторых странах запрещено использование вариантов «Скрыто» и «Одиночный».

Стандартно, ссылка отписки приведет пользователя на страницу подтверждения. После подтверждения пользователь будет перенаправлен на первую страницу и ему будет показано соответствующее сообщение. На странице управления подпиской можно определить альтернативную страницу назначения: Структура → Конфигурация → Веб-сервисы → Рассылки → Настройка → Подписка.

Чтобы пропустить страницу подтверждения, можно добавить параметр в URL подписки. Пример: [simplenews-subscribe-url]/ok. Когда определена альтернативная страница назначения, дополнительные параметры будут добавлены в URL назначения. Пример: [simplenews-subscriber:subscribe-url]/ok. Назначение: node/123 → node/123/ok.

Связанные модули

  • Elysia Cron — тонкая настройка выполнения задач
  • Mail System — расширение стандартной почтовой системы
  • Maillog / Mail Developer — захват исходящих писем, что помогает в отладке
Зависит от: 
Видео работы с проектом

Комментарии

Изображение пользователя Анонимно

а скриншоты где?))

Изображение пользователя Анонимно

Да вообще бы хорошо информацию по модулю, как и с чем ставится, как рассылки отправляются, как делать формы подписки к ним и отписки