Руководство по использованию класса Subscription в Битрикс D7

В этом руководстве мы подробно рассмотрим класс Subscription, который предназначен для работы с подписками на рассылки в системе 1С-Битрикс. Мы объясним, как использовать различные методы класса для подписки, отписки, получения ссылок и управления рассылками.

Руководство по использованию класса Subscription в Битрикс D7

Введение в класс Subscription

Класс Subscription является частью модуля sender, который отвечает за работу с рассылками и подписками на них. Он предоставляет методы для создания, получения и удаления подписок, а также для управления статусами подписчиков.

Методы класса

  1. add – создает подписку на рассылку по e-mail и возвращает массив со списком подписок.
  2. getLinkSub – генерирует ссылку на страницу подтверждения подписки.
  3. getLinkUnsub – генерирует ссылку на страницу отписки от рассылки.
  4. getList – возвращает список всех подписок для конкретного подписчика.
  5. getMailingList – возвращает список доступных рассылок для подписки.
  6. isUnsubscibed – проверяет, отписан ли e-mail от рассылки.
  7. onMailEventSubscriptionDisable – обработчик события отключения подписки.
  8. onMailEventSubscriptionEnable – обработчик события включения подписки.
  9. onMailEventSubscriptionList – обработчик события получения списка подписок.
  10. sendEventConfirm – отправляет письмо для подтверждения подписки.
  11. subscribe – подписывает e-mail на рассылку.
  12. unsubscribe – отписывает e-mail от рассылки.

Теперь давайте рассмотрим каждый из этих методов более подробно с примерами.

1. Метод add

Метод add позволяет создать подписку для указанного e-mail адреса и вернуть список всех подписок для этого адреса.

Пример использования:


$email = "user@example.com";
$mailingIdList = [1, 2, 3]; // Список ID рассылок
$subscription = \Bitrix\Sender\Subscription::add($email, $mailingIdList);
    

Этот код создает подписку для пользователя с e-mail user@example.com на рассылки с ID 1, 2 и 3.

2. Метод getLinkSub

Метод getLinkSub генерирует ссылку для подтверждения подписки на рассылку.

Пример использования:


$fields = ['EMAIL' => 'user@example.com', 'MAILING_ID' => 1];
$link = \Bitrix\Sender\Subscription::getLinkSub($fields);
echo $link;  // Выводит ссылку для подтверждения подписки
    

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

3. Метод getLinkUnsub

Метод getLinkUnsub генерирует ссылку для отписки от рассылки.

Пример использования:


$fields = ['EMAIL' => 'user@example.com', 'MAILING_ID' => 1];
$link = \Bitrix\Sender\Subscription::getLinkUnsub($fields);
echo $link;  // Выводит ссылку для отписки от рассылки
    

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

4. Метод getList

Метод getList позволяет получить все подписки на рассылки для конкретного подписчика.

Пример использования:


$data = ['EMAIL' => 'user@example.com'];
$subscriptions = \Bitrix\Sender\Subscription::getList($data);
    

Этот метод возвращает список всех рассылок, на которые подписан пользователь с e-mail user@example.com.

5. Метод getMailingList

Метод getMailingList возвращает список рассылок, доступных для подписки.

Пример использования:


$params = ['SITE_ID' => 's1'];
$mailingList = \Bitrix\Sender\Subscription::getMailingList($params);
    

Этот метод возвращает все рассылки, доступные для подписки на сайте с ID s1.

6. Метод isUnsubscibed

Метод isUnsubscibed проверяет, отписан ли e-mail от рассылки.

Пример использования:


$mailingId = 1;
$email = 'user@example.com';
$isUnsubscribed = \Bitrix\Sender\Subscription::isUnsubscibed($mailingId, $email);
if ($isUnsubscribed) {
    echo "Пользователь отписан от рассылки.";
} else {
    echo "Пользователь не отписан.";
}
    

Этот метод возвращает true, если указанный e-mail был отписан от рассылки, и false в противном случае.

7. Метод onMailEventSubscriptionDisable

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

Пример использования:


$data = ['EMAIL' => 'user@example.com', 'MAILING_ID' => 1];
$result = \Bitrix\Sender\Subscription::onMailEventSubscriptionDisable($data);
    

Этот метод выполняет действия, когда подписка на рассылку отключена для указанного пользователя.

8. Метод onMailEventSubscriptionEnable

Этот метод является обработчиком события включения подписки. Он может быть использован для выполнения действий, когда подписка включена.

Пример использования:


$data = ['EMAIL' => 'user@example.com', 'MAILING_ID' => 1];
$result = \Bitrix\Sender\Subscription::onMailEventSubscriptionEnable($data);
    

Этот метод выполняет действия, когда подписка на рассылку включена для указанного пользователя.

9. Метод onMailEventSubscriptionList

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

Пример использования:


$data = ['EMAIL' => 'user@example.com'];
$subscriptionList = \Bitrix\Sender\Subscription::onMailEventSubscriptionList($data);
    

Этот метод возвращает список подписок для указанного e-mail.

10. Метод sendEventConfirm

Метод sendEventConfirm отправляет письмо с подтверждением подписки.

Пример использования:


$email = "user@example.com";
$mailingIdList = [1, 2];
$siteId = "s1";
\Bitrix\Sender\Subscription::sendEventConfirm($email, $mailingIdList, $siteId);
    

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

11. Метод subscribe

Метод subscribe подписывает пользователя на рассылки.

Пример использования:


$data = [
    'EMAIL' => 'user@example.com',
    'SUBSCRIBE_LIST' => [1, 2]
];
$success = \Bitrix\Sender\Subscription::subscribe($data);
if ($success) {
    echo "Подписка успешна!";
} else {
    echo "Ошибка при подписке.";
}
    

Этот метод подписывает пользователя на рассылки, указанные в массиве SUBSCRIBE_LIST.

12. Метод unsubscribe

Метод unsubscribe отписывает пользователя от рассылки.

Пример использования:


$data = ['EMAIL' => 'user@example.com', 'UNSUBSCRIBE_LIST' => [1]];
$success = \Bitrix\Sender\Subscription::unsubscribe($data);
if ($success) {
    echo "Отписка успешна!";
} else {
    echo "Ошибка при отписке.";
}
    

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

Заключение

Класс Subscription в 1С-Битрикс предоставляет мощные средства для управления подписками на рассылки. Мы рассмотрели основные методы для работы с подписками, такие как создание подписки, получение списка подписок, подтверждение подписки и отписка. Эти методы позволяют гибко управлять подписчиками и рассылками в вашем проекте.

Теги:  Subscription, подписки, рассылки, D7

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Модули и компоненты для «1С-Битрикс»

оценка производится на основе предоставленного Технического Задания

от 20 000 рублей
Разработка дополнительных модулей для 1С-Битрикс, расширение функционала, внедрение любых решений, требующихся для выполнения ваших бизнес-задач.

* стоимость зависит от конкретной задачи, ее объема и сложности выполняемых работ.

Интернет-магазин на готовом решении

от 7 дней

от 40 000 рублей
запуск сайта в максимально короткие сроки

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Разработка интернет-магазина с готовой версткой

от 4 недель

от 90 000 рублей

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.