Рассылка новинок каталога в автоматическом режиме

Просмотров: 2757

Что бы реализовать рассылку новинок каталога на email-ы пользователей, можно воспользоваться событием OnBeforeIBlockElementAdd и модулем subscribe

Отправка рассылки при создании нового элемента инфоблока

В целом, все просто:

  • Создаем новую рассылку, штатными способами. Выбираем группу пользователей которой рассылать...рассылку
  • Создаем страничку на сайте, на которой выводим новинки (именно новые элементы)- на эту страничку ссылаемся из письма
  • Пишем обработчик в init.php который будет автоматически: менять статус подписки на "Черновик", выполнять рассылку на cron.

Менять статус рассылки на "Черновик" обязательно так как, после выполнения, рассылка перейдет в статус "Отправлено" и в следующий раз не сработает.

Использованные методы:
$cPosting->ChangeStatus - смена статуса
$cPosting->AutoSend($ID); - отправка рассылки на cron

Код для init.php


AddEventHandler('iblock', 'OnBeforeIBlockElementAdd', 'NewCatItem');
function NewCatItem(&$arFields)
 {
     $SITE_ID = 's1';       //ID сайта
     $IBLOCK_ID = 12;  //ID инфоблока
     $ID = 4;                   //ID созданной рассылки
     if ($arFields['IBLOCK_ID'] == $IBLOCK_ID)
     {
              CModule::IncludeModule('subscribe');  //Подключаем модуль рассылок
              $cPosting = new CPosting();                // Получаем информацию о рассылке
              $arFilter = Array(
                 "STATUS_ID" => $find_status_id       //Получаем текущий статус рассылки
              );
             if ($STATUS = "S") {                               //Если в статусе S - отправлено
                         $cPosting->ChangeStatus($ID, "D"); //Меняем на D - черновик
             }
            $cPosting->AutoSend($ID);  //Рассылаем
       }
}
Перетащите файлы
Ничего не найдено
Нажимая кнопку "Отправить" вы соглашаетесь
с политикой конфиденциальности и обработки персональных данных.

Блог-note: заметки разработчика

Основные функции вывода в шаблонах Битрикс

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

Input Type File, множественный с дропзоной и показом превью

Задача: Сделать возможность загрузки файлов в множественный input type="file" c помощью drag&drop и показом превью загру...

Увидеть файл заказов который передаст Битрикс в 1С

Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с зака...

Работа с HTTP-запросами в Bitrix: Обзор возможностей класса \Bitrix\Main\HttpRequest

Класс \Bitrix\Main\HttpRequest, является наследником класса Request, представляет собой мощный инструмент для работы с д...

AJAX корзина с отправкой количества из раздела каталога

Столкнулся с задачкой: нужно было на одном сайте реализовать интерактивный прайс лист. При этом, у пользователя должна б...

Вывести артикул в печатную форму бланка заказа

Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.

Ajax форма обратной связи, реализация в битрикс

Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в инфоблок. Способов реализации...

Получить и вывести все цены товара в 1С-Битрикс

Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.e...

Сортировка элементов по индексу сортировки значений типа список

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