Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Автоматическая рассылка - не работает фильтр

00 голосов
1
Вечер добрый.
Подскажите, пожалуйста, может кто сталкивался с проблемой:

Необходимо автоматически рассылать новости, но не все, а с фильтром. Все настроила, все рассылается и приходит, но в письмах приходят новости без учета фильтра. При проверке шаблона все правильно, отображаются отфильтрованные новости, если нажать "Добавить выпуск", то вручную тоже правильно выпуск создается, а вот автоматически в нужное время создаются выпуски без учета фильтра - то есть приходят абсолютно все новости за нужный период.
спросил 12 Янв, 14 от BloodRyan (100 баллов)

1 Ответ

00 голосов
Код шаблона:
Код
//Запретим прямой вызов скрипта
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

//определяем глобальные переменные и присваиваем им первоначальные значения.
global $SUBSCRIBE_TEMPLATE_RESULT;
$SUBSCRIBE_TEMPLATE_RESULT=false;
global $SUBSCRIBE_TEMPLATE_RUBRIC;
$SUBSCRIBE_TEMPLATE_RUBRIC=$arRubric;
global $APPLICATION;

<!-- Подключаем компонент который будет из инфоблока $IBLOCK, из раздела $arRubric только новые элементы -->
$arrFilter&#91;"PROPERTY"&#93;&#91;"tags5"&#93; = "2758";
$SUBSCRIBE_TEMPLATE_RESULT = $APPLICATION->IncludeComponent(
    "demo:subscribe.news",
    "news_post",
    Array(
     "SITE_ID" => "s1",
     "IBLOCK_TYPE" => "news",
     "ID" => "2",
     "SORT_BY" => "ACTIVE_FROM",
     "SORT_ORDER" => "DESC",
     "FILTER_NAME" => "arrFilter"
    )
);
//Получаем дату и время в правильном формате.
$new_date = $DB->FormatDate(date("d.m.Y H:i:s"), "DD.MM.YYYY HH:MI:SS", CSite::GetDateFormat("FULL", "ru"));
//вы конечно могли подучать, что просто подключением компонента вопрос решится, но не тут-то было, надо теперь полученные данные передать обратно модулю расслка
if($SUBSCRIBE_TEMPLATE_RESULT)
   return array(
//Заголовок письма
   "SUBJECT"=>$arRubric&#91;"NAME"&#93;
//Тип сообщения
   ,"BODY_TYPE"=>"html"
//Кодировка письма
   ,"CHARSET"=>"Windows-1251"
   ,"DIRECT_SEND"=>"Y"
//E-Mail от имени которого будет производится рассылка
   ,"FROM_FIELD"=>$arRubric&#91;"FROM_FIELD"&#93;
//Автоматическая отправка
   ,"AUTO_SEND_FLAG"=>"Y"
//Дата и время отправки письма
   ,"AUTO_SEND_TIME"=>$new_date
   );
else
   return false;
ответил 25 Апр, 14 от BloodRyan (100 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
0 ответов
спросил 26 Март, 14 от Monemir (120 баллов)
0 голосов
5 ответов
спросил 27 Ноя, 13 от Monemir (120 баллов)
0 голосов
2 ответов
спросил 29 Апр, 13 от Lalya1234 (160 баллов)
0 голосов
2 ответов
спросил 24 Ноя, 13 от SpiroW (140 баллов)