Подписки пользователей на новости - модуль UserSubscribe

Перед покупкой или скачиванием модуля, пожалуйста ознакомьтесь с Лицензионным соглашением, действующим на все продукты.

Подписки пользователей на новости - модуль UserSubscribe

Модуль UserSubscribe предназначен для подписок зарегистрированных пользователей и гостей сайта на публикации новостей. Извещения отправляются на почту и в личные сообщения сайта. В качестве бонуса предусмотрена возможность отправки извещений в Телеграм (находится в режиме бета-тестирования). Модуль рассчитан на все версии DLE от 10.x и выше (кодировка UTF-8 или Windows-1251), установка полностью автоматическая.

Виды подписок:

  • Подписка на публикацию новости
  • Подписка на публикацию новости с определенным тегом
  • Подписка на публикацию новости с определенным значением определенного дополнительного поля
  • Подписка на редактирование новости (можно выбрать изменение заголовка, даты, текста, краткого описания, дополнительных полей)
  • Подписка на публикацию новости в определенной категории
  • Подписка на новость определенного автора

Дополнительные возможности:

  • Можно включить периодичность оповещений с нужным интервалом: извещения "накапливаются" и отправляются, например, раз в сутки
  • Специальный раздел для зарегистрированных пользователей (личный кабинет), где они могут управлять своими подписками и списки новых публикаций по каждому виду подписки (кроме подписки на "редактирование новости")
  • Для гостей сайта можно включить подтверждение подписки по почте
  • Возможность добавлять в письмо ссылку для отмены подписки одним кликом
  • Раздельные заголовки и тексты для каждого вида подписки, которые можно редактировать
  • Можно включить переключатель отправки извещений при добавлении/редактировании новости
  • Возможность отправки указанного текста на определенные почту и Телеграм - например, для тестов
  • Для удобного изменения внешнего вида кнопок-ссылок форм подписок на сайте, можно вносить изменения в шаблоны, для каждого вида подписки - свой шаблон. Для обработки этих шаблонов, помимо стандартного шаблонизатора, используется продвинутый шаблонизатор Twig (документация на русском языке) - что предоставляет широкие возможности по настройке
  • Уникальная система вывода табличных данных для списков подписчиков и подписок в админпанели: фильтрация по большинству полей, сортировка по ключевым значениям, возможность скрыть/показать определенные колонки таблицы и т.д.
  • Статистика подписок в виде круговой диаграммы
  • Использование Ajax и отправки данных форм по сочетанию клавиш «Ctrl + Enter» для более комфортной работы в админпанели

При большом количестве подписчиков, для отправки извещений в фоновом режиме необходимо поместить в крон (например, каждые 5 минут) скрипт - http://example.com/engine/modules/usersubscribe/site/cron.php

Для отображения на сайте кнопок подписки, в нужном шаблоне в нужном месте необходимо вставить коды вызова модуля: {include file="engine/modules/usersubscribe/site/usersubscribe.php?mode=post_add_button"} - подписка на добавление новостей; {include file="engine/modules/usersubscribe/site/usersubscribe.php?mode=post_add_with_tag_button"} - подписка на новости с определенным тегом; {include file="engine/modules/usersubscribe/site/usersubscribe.php?mode=post_add_with_xfield_button"} - подписка на новость со значением доп. поля; {include file="engine/modules/usersubscribe/site/usersubscribe.php?mode=post_edit_button&post_id={news-id}"} - подписка на редактирование новости; {include file="engine/modules/usersubscribe/site/usersubscribe.php?mode=category_button"} - подписка на публикации в категории;

Код для кнопки подписки на изменение новости, обычно добавляется в «fullstory.tpl», код для кнопки подписки на категорию - можно вставить, например, и в «main.tpl», но отображаться кнопка будет только в категории сайта.

Для отправки извещений через Телеграм (еще раз хочется напомнить, что данная возможность находится в режиме бета-тестирования и предоставляется как бонус) используется библиотека MadelineProto - Telegram-клиент на PHP, предоставляющий методы для работы от имени бота. Ссылки: официальный сайт разработчика библиотеки и русскоязычная статья на Habr.com. Для работы данной библиотеки требуется версия PHP не ниже 7.1., поэтому можно разместить шлюз на другом хостинге. Используя документацию с сайта библиотеки MadelineProto, необходимо создать шлюз в отдельной папке с любым названием, затем скопировать в нее файл «send_telegram.php» из папки инсталлятора «/usersubscribe_install/». Далее нужно указать полный адрес к этому файлу в настройках модуля в поле «Адрес шлюза для отправки извещений через Телеграм», например: «http://example.com/madeline/send_telegram.php».

Дополнение от 30.06.2023

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

Для большинства типов подписки добавлена возможность проверки изменений по крону. Если соответствующий переключатель включен, то проверка изменения будет происходить при каждом запуске крона, иначе - происходить сразу после добавления новости. Обратите внимание, что для подписок на изменение новости крон использовать невозможно, а для подписок на изменение поля базы данных, наоборот, проверку можно производить только по крону.

Дополнение от 18.06.2023

Добавлена возможность получать уведомления не только при публикации новости в админпанели, но и на сайте.

Добавлен Конструктор для создания кодов вызова модуля для вставки в *.tpl шаблонах. Служит для облегчения настройки модуля, при этом уже не надо разбираться в многочисленных параметрах вызова.

Добавлен вид подписки на новость со значениями нескольких доп. полей (групповое сравнение). Используя вышеуказанный Конструктор, можно создать кнопку подписки по доп. полям, например на киносайте: Страна, Год выпуска, Режиссер. В итоге, подписавшиеся по данной кнопке получат уведомления после выхода новости с соответствующими значениями указанных трех дополнительных полей.

Добавлен вид подписки на изменение поля базы данных (например, с помощью стороннего PHP скрипта по крону) в таблице новостей. Далее описан пример для чего может понадобится этот тип. Допустим, имеется некий интернет-магазин на DLE и у него настроено обновление наличия товаров (таблица «dle_post») через запуск стороннего PHP файла. В этом файле через запрос в базу меняется отдельное поле вышеуказанной таблицы (0 - нет в наличии или 1 - это в наличии), обновления базы товаров-новостей могут происходить, например, на основе данных с другого сайта. Используя данный вид подписки, посетитель сможет получать уведомление при появлении товара в базе сайта. Таким образом, уведомления этой подписки могут срабатывать только по крону.

Скриншоты

Также вы можете посмотреть

Другие модули для DLE

Добавить комментарий