- Не работают триггерные рассылки битрикс
- Для кого этот курс?
- Начальные требования
- У нас часто спрашивают, сколько нужно заплатить
- Баллы опыта
- Практика и тесты
- Если нет интернета
- Как проходить учебный курс?
- Не работают триггерные рассылки битрикс
- Для кого этот курс?
- Начальные требования
- У нас часто спрашивают, сколько нужно заплатить
- Баллы опыта
- Практика и тесты
- Если нет интернета
- Как проходить учебный курс?
- Не работает автоматическая рассылка
- Делаем свои триггерные рассылки
Не работают триггерные рассылки битрикс
Современный сайт имеет смысл только если о нём знает достаточно большое количество пользователей Интернета.
Какую бы направленность ни имел сайт: интернет-магазин или простой сайт с информацией по интересам владельца, его нужно «раскрутить», то есть добиться достаточно высокого положения в выдаче поисковых машин по ключевым словам тематики сайта. Технически сделать это не сложно: «1С-Битрикс: Управление сайтом» предоставляет все инструменты для продвижения сайта. Успех в бо́льшей степени зависит от того как Контент-менеджер пользуется этими инструментами.
Если ваш сайт — интернет-магазин, то кроме продвижения сайта большое значение имеют инструменты Маркетинга, то есть продвижение ваших товаров с помощью акций, скидок, уведомлений и рассылок.
Для кого этот курс?
Примерное время изучения курса — 5 часов, без сдачи тестов.
Курс Продвижение сайта и Маркетинг адресован тем кто занимается продвижением сайтов и маркетологов, работающих в интернет-магазинах, созданных на основе «1С-Битрикс: Управление сайтом». Изучение этого курса без ознакомления с курсом Контент-менеджер будет сложным, поэтому рекомендуем начать именно с начального курса для Контент-менеджер.
- работать с модулем SEO;
- приемам работы с разными видами рекламы;
- работе с разными видами рассылок;
- работать с инструментами E-mail маркетинга;
- анализировать результаты вашей работы с помощью модуля Веб-аналитика.
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и работы с ОС Windows;
- базовые представления о WWW;
- базовые представления о SEO и маркетинге;
- изученный курс Контент-менеджер Курс Контент-менеджер адресован тем, кто работает с содержанием сайта: наполнение, изменение текста, загрузка и размещение картинок и так далее.
Подробнее . , чтобы понимать принципы работы с интерфейсом «1С-Битрикс: Управление сайтом».
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Практика и тесты
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов со страницы Моё обучение скачайте сертификат об успешном прохождении курса в формате PDF.
Если нет интернета
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла — от 03.08.2021.
Как проходить учебный курс?
Источник
Не работают триггерные рассылки битрикс
Современный сайт имеет смысл только если о нём знает достаточно большое количество пользователей Интернета.
Какую бы направленность ни имел сайт: интернет-магазин или простой сайт с информацией по интересам владельца, его нужно «раскрутить», то есть добиться достаточно высокого положения в выдаче поисковых машин по ключевым словам тематики сайта. Технически сделать это не сложно: «1С-Битрикс: Управление сайтом» предоставляет все инструменты для продвижения сайта. Успех в бо́льшей степени зависит от того как Контент-менеджер пользуется этими инструментами.
Если ваш сайт — интернет-магазин, то кроме продвижения сайта большое значение имеют инструменты Маркетинга, то есть продвижение ваших товаров с помощью акций, скидок, уведомлений и рассылок.
Для кого этот курс?
Примерное время изучения курса — 5 часов, без сдачи тестов.
Курс Продвижение сайта и Маркетинг адресован тем кто занимается продвижением сайтов и маркетологов, работающих в интернет-магазинах, созданных на основе «1С-Битрикс: Управление сайтом». Изучение этого курса без ознакомления с курсом Контент-менеджер будет сложным, поэтому рекомендуем начать именно с начального курса для Контент-менеджер.
- работать с модулем SEO;
- приемам работы с разными видами рекламы;
- работе с разными видами рассылок;
- работать с инструментами E-mail маркетинга;
- анализировать результаты вашей работы с помощью модуля Веб-аналитика.
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и работы с ОС Windows;
- базовые представления о WWW;
- базовые представления о SEO и маркетинге;
- изученный курс Контент-менеджер Курс Контент-менеджер адресован тем, кто работает с содержанием сайта: наполнение, изменение текста, загрузка и размещение картинок и так далее.
Подробнее . , чтобы понимать принципы работы с интерфейсом «1С-Битрикс: Управление сайтом».
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Практика и тесты
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов со страницы Моё обучение скачайте сертификат об успешном прохождении курса в формате PDF.
Если нет интернета
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла — от 03.08.2021.
Как проходить учебный курс?
Источник
Не работает автоматическая рассылка
Всем добрый день!!
Подскажите кто сталкивался с данной проблемой.
Пробовал на Битрикс5 и Битрикс6, ни где не работает автоматическая рассылка — автоматически не формируются выпуски и не отправляются подписчикам.
Всё остальное работает — подписчики оформляют подписку, им приходят письма с кодом подтверждения. Не автоматическая рассылка работает.
В документации нашел что за автоматическое формирование выпусков отвечает функция CPostingTemplate::Execute(). Агент у меня настроен и запускает эту функции с интервалом 60 секунд. Тем не менее выпуски не формируются. В чём может быть причина?
Спасибо за ответ.
При дальнейшем рассмотрении данного вопроса нашел что проблема, почему не работает автоматическая рассылка в некорректной работе функции CPostingTemplate::Execute().
При формировании массива $arRubric для передачи в функцию CPostingTemplate::AddPosting($arRubric), переменная $arRubric[«END_TIME»] (в ней должно быть время формирования выпуска на основе автоматической рассылки в формате DD.MM.YYYY HH:MI:SS)содержит неправильную дату формата DD.MM.YYYY(то есть например 15.07.2006), а время правильное (то есть то которое было задано при формировании рассылки, например 19:50:01)
В итоге в CPostingTemplate::AddPosting($arRubric) передается что то вроде
$arRubric[«START_TIME»] = «14.05.2006 15:40:05»;
$arRubric[«END_TIME»] = «15.07.2006 19:36:35»;
Соответственно выпуск не формируется. Вот и вопрос — почему так происходит? Что может быть с датой, какую настройку крутить?
Спасибо за ответ.
Присоединяюсь к вопросу.
В списке рассылок генерация происходит вовремя (т.е. точно в указанное мной время).
Агент CPostingTemplate::Execute(); тоже исправно срабатывает.
А вот сам выпуск почему-то не обновляется.
Т.е. был сделан выпуск: время отправки установлено автоматическое, в определенное время.
В это время рассылка один раз отправилась и все.
Потом, на сколько я понимаю, при генерации рассылки этот выпуск должен измениться. Так?
И если добавилось что-то новое, то выслаться. Но почему-то он не изменяется. (
Что было сделано не так? В чем может быть проблема?
Дмитрий, может быть Вы уже разобрались с этим?
В принципе вопрос решил!! Но только по своему)
Честно говоря не понятна мне та логика работы функции CPostingTemplate::Execute(), может создатели вкладывали свою философскую идею, да такую что простой люд и не разберётся.
Сделал следующее —
вместо $arSDate = localtime($last_executed);
подставил $arSDate = localtime($current_time);
теперь всё работает, правда если время последней генерации изменить на пару лет назад сразу шлётся весь выпуск не дожидаясь заданного дня недели и времени))
За исключением этого глюка все работает по логике, но не исключено что могут быть и глюки!!
Надо тестировать!!
А вообще то хотелось бы услышать комментарий профессионалов!!
Источник
Делаем свои триггерные рассылки
1. Как работают триггерные рассылки.
2. Что делают триггеры.
3. Как сделать свой триггер.
3.1. Простейший триггер
3.2. Получение данных события
3.3. Фильтрация в триггере
3.4. Свои поля персонализации
3.5. Фильтрация по сайту
4. Триггер для ненаступивших событий
5. Делаем готовую рассылку
6. Итоги.
Все примеры в статье уложены в архив .
Распакуйте его, затем папку sender скопируйте в /bitrix/php_interface/
А затем в init.php подключите пример:
1. Как работают триггерные рассылки.
При наступлении события срабатывает триггер. Он определяет, отправлять ли рассылку и кому именно отправлять.
Затем, для каждого адреса рассылки перед запуском проверяется:
— не отписан ли адрес от рассылки;
— двойной запуск; не запущена ли рассылка для одного адреса параллельно.
К примеру, рассылка запускается по событию оплачен заказ.
Если в рассылке указаны три письма, уходящие с промежутком 1 час, то если один и тот же человек оплатит два заказа с разницей в 10 минут,
то по первому заказу рассылка запустится, вторая — не запустится.
Рассылка отмечается завершенной для адреса после:
— или отправки всех писем;
— или после выполнения целевого действия получателем.
После завершения для конкретного адреса рассылка может запуститься еще раз.
Один и тот же триггер можно использовать в нескольких рассылках.
И может запуститься для всех них.
2. Что делают триггеры.
Триггеры — это обработчики события .
Поэтому, все доступные данные в обычных обработчиках события доступны и в триггере.
Они находят адреса получателей рассылки.
К примеру, из данных события: событие добавления комментария в блог возвращает AUTHOR_ID — код пользователя-автора комментария.
В триггере можно по этому коду выбрать поля пользователя — имя и емайл.
Их и вернуть в качестве данных получателя.
Они разрешают или запрещают запуск рассылки для конкретного адреса.
Запуск рассылки можно запрограммировать безусловным, либо в зависимости от данных события, либо вашей бизнес-логики.
К примеру, проверять:
— на каком сайте произошло событие;
— в админке или публичке;
— время днем или ночью.
3. Как сделать свой триггер.
3.1. Простейший триггер
Для начала выберем событие, к примеру в блоге добавление комментария OnCommentAdd
http://dev.1c-bitrix.ru/api_help/blogs/events/index.php
Теперь создадим класс SenderTriggerBlogComment,
который обязательно наследуется от класса \Bitrix\Sender\Trigger
getName() — возвращает название триггера.
Оно выводится в списке целей и условий запуска.
getCode() — возвращает код триггера, уникальный в рамках модуля.
Желательно указывать свой префикс, чтобы коды не пересеклись.
getEventModuleId() — возвращает модуль, который генерирует событие, на которое срабоает триггер.
getEventType() — возвращает событие, на которое должен сработать триггер.
getRecipient() — возвращает массив или объект одного адреса или списка адресов.
Результат может быть в в виде массива, или \Bitrix\Main\DB\Result, или старый добрый CDBResult.
filter() — возвращает true или false.
Результат указывает запускать ли рассылку или нет.
В функции можно указывать свои условия фильтрации события, свои выборки адресов.
getForm() — возвращает форму настройки триггера.
Форма выведется на странице указания событий запуска и цели.
Теперь подключим триггер.
Для этого, сохраним класс триггера в файл /bitrix/php_interface/trigger_blog_comment.php
Далее, нам нужно повесить обработчик события запроса списка триггеров.
Для этого в /bitrix/php_interface/init.php добавим код:
3.2. Получение данных события
Чтобы получить данные, передаваемые в событии, нужно воспользоваться методом getParam(‘EVENT’):
Ну а теперь вернемся к нашему триггеру.
Как видим, в getRecipient прописан вручную адрес ivan@example.com
Давайте отправлять рассылку автору комментария.
При событии добавления комментария в функцию-обработчик передается два параметра.
Первый — код добавленного коммента.
Второй — массив, переданный в CBlogComment::Add.
Таким образом, мы в триггере можем получить код автора:
Теперь по этому коду, мы можем получить емайл и имя пользователя.
Изменим метод getRecipient:
3.2. Форма настройки триггера
В типовом решении магазина комментарии блогов используются в качестве комментариев к товарам.
Допустим, мы хотим запускать рассылку только при добавлении комментариев в конкретном одном блоге.
Для этого сделаем форму настройки:
getFieldName() — функция-обертка для получения имени поля для возможности его сохранения.
getFieldValue() — функция возвращает текущее сохраненное значение настройке.
3.3. Фильтрация в триггере
В форме настроек триггера появился список блогов, но когда добавляем коммент в другой блог, рассылка все равно запускается.
Теперь в методе filter() сравним блог, выбранный в настройках, с блогом, в который добавлен коммент:
3.4. Свои теги персонализации
#EMAIL# , #NAME# , #USER_ID# — маловато полей персонализации.
Как сделать больше полей?
Давайте добавим еще три тега: код комментария, код поста, код блога.
Теперь теги доступны для использования в теле писем: #BLOG_COMMENT_ID# , #BLOG_POST_ID# , #BLOG_ID# .
Причем, доступны только в письмах тех рассылок, в которых триггер указан в качестве условия запуска.
Но чтобы эти теги показывались в списке тегов, нужно добавить их описание:
В скором времени можно будет указать свои поля в результате функции getRecipient,
но сейчас это еще не доступно, как и свои поля в коннекторах адресов.
3.5. Фильтрация по сайту
При создании/редактировании рассылки обязательно задается привязка к сайту.
Вы можете получить код сайта методом getSiteId()
И уже использовать для сравнения с кодом сайта из события, или выбрав из базы привязку к сайту,
или текущим сайтом(с константой SITE_ID).
4. Триггер для ненаступивших событий
Ну хорошо, со срабатыванием триггера по событию разобрались.
А как быть, если нет события?
К примеру, не заходил на сайт 30 дней? Или бросил корзину 7 дней назад?
Только по прошествии времени мы узнаем, что у нас какой-то период времени что-то не происходит:
нет оформления заказа, нет захода на сайт.
На этот случай у нас есть другой тип триггера.
Он запускается раз в день, в указанное время. И ему не нужно событие.
Допустим, у нас есть задача: запускать рассылку с купонами на скидку всем, кто накануне просмотрели товары.
Создадим свой триггер, отнаследовавшись уже от другого класса:
\Bitrix\Sender\TriggerConnectorClosed
и определим логику в методе filter():
Здесь мы фильтруем список просмотров по дате просмотра за период в один день.
От текущего дня отнимаем указанное количество дней.
Таким образом, если у нас указано в настройках триггера 1 день,
то фильтр по дате на момент запуска будет выбирать записи за предыдущий день.
И так каждый день.
Если нам нужна возможность обработать старые данные, то есть отправить письма не только «за вчера»,
но еще один раз отправить по всем пользователям, кто просматривал ранее, то
сообщим, что триггер такое умеет делать:
5. Делаем готовую рассылку
Готовая рассылка — это набор писем и настроек.
Из готовой рассылки можно создать на сайте рассылку.
Если у вас есть полезная рассылка, которая пригодится и на других сайтах, то можно сделать готовую рассылку.
Она будет всегда доступна как шаблон
Нужно сделать обработчик события OnPresetMailingList, в котором вернуть массив, описывающий рассылку.
Ключи массива:
TYPE — название раздела готовых рассылок при показе.
CODE — уникальный символьный код рассылки
DESC — описание для пользователя в админке, показывается в списке готовых рассылок
NAME — название рассылки
DESC_USER — описание для получателя, которое выведется при отписке
CHAIN — массив, описывающий письма
TIME_SHIFT — через сколько отправить письмо в минутах
SUBJECT — тема письма
MESSAGE — тело письма, может содержать html, теги персонализации, php-код
TRIGGER — массив, описывающий триггер запуска и его настройки, триггер цели и его настройки.
MODULE_ID — модуль триггера.
Триггер становится доступным для использования, если название его класса сообщается в обработчике OnTriggerList.
Если обработчик OnTriggerList установлен функцией AddEventHandler, то MODULE_ID не указывается.
Если функцией RegisterModuleDependences — то в MODULE_ID указывается тот же модуль.
CODE — код триггера, обязателен для указания
FIELDS — массив предустановленных настроек триггера
Далее пример рассылки из трех писем, отправляемых через сутки каждое.
Запускается по нашему новому триггеру просмотренных товаров.
Целью является оплата заказа. Так как триггер находится в модуле sale, то модуль будет указан.
Данный код можно добавить в файл /bitrix/php_interface/init.php и готовая рассылка появится в списке.
Перед выводом готовой рассылки в списке, проверяется зарегистрированы ли указанные триггеры.
Если не зарегистрированы, то готовая рассылка не будет показана.
6. Итоги.
Теперь вы знаете как создать свои триггеры, как собрать готовую рассылку.
Расскажите, что вам не хватает в них.
Источник