Начало работы v200.1.0
Обзор модуля DLE Уведомления: каналы, подписки, требования и первые шаги
Введение
DLE Уведомления — дополнительный модуль DevCraft Admin для DataLife Engine 20. Модуль рассылает сообщения по событиям сайта: правка новости, новый комментарий, упоминание @ник, рейтинг, удаление комментария, подписка на автора, модерация и другие сценарии.
Каналы доставки:
- сайт — колокольчик и стена (лента);
- почта;
- личные сообщения DLE.
Пользователь подписывается на новость, категорию, автора, тег, доп. поле или на все новые публикации и получает только подходящие события. Тексты писем, ЛС и записей ленты задаются файлами .tpl в теме сайта.
Исходники: DevCraftClub/DLE-Notifications.
Основные возможности
- кнопка подписки у новости, категории и других объектов;
- стена уведомлений и счётчик непрочитанных с автообновлением;
- отдельная страница
/notifications/(do=notifications); - шаблоны сценариев, писем и ленты в теме сайта (если файла нет — берётся
Default); - права по группам DLE и настройки пользователя (почта / ЛС);
- функции
notify*для своего кода и запросы ленты без перезагрузки страницы (list,unread_count,mark_readи др.); - свои события из дополнения DLE или другого модуля.
Требования
- DataLife Engine 20.0+
- PHP 8.3+
- DevCraft Admin 200.4.0+
Полный перечень шагов: Установка.
Быстрый старт
1. Установка
Инструкция по установке — архив, автозагрузка классов, таблицы в базе, копирование шаблонов темы.
2. Первое использование
В шапке темы (main.tpl):
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=css"}Полная новость (fullstory.tpl):
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=subscribe&stype=news&id={news-id}"}В меню — колокольчик; перед </body> — скрипты:
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=badge"}
…
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=js"}Стена в профиле или на странице уведомлений:
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=wall"}Отправка из PHP (после установки функции notify* доступны на всём сайте):
if (function_exists('notifySend')) {
notifySend($userId, 'Текст уведомления');
}3. Дополнительная настройка
В панели DevCraft → DLE Уведомления: типы подписок, автообновление колокольчика, режим удаления записей ленты, путь к шаблонам. Права групп — отдельная страница модуля. Подробнее: права, настройки пользователя.
Структура проекта
Корень сайта DLE после установки плагина:
engine/inc/notifications.php— точка входа в админку DLE: открывает модуль в DevCraft.Site/web.php— подключение на сайте через{include}(focus=css|js|badge|wall|subscribe).Site/page.php+page.tpl— страницаdo=notifications.Site/include.php— procedural APInotify*(подключает плагин после bootstrap).templates/{тема}/devcraft/notifications/— разметка и стили/скрипты публичного сайта (не шаблоны админки).
Концепции
Каналы и лента
Уведомление создаётся в ленте сайта и при необходимости дублируется в почту и ЛС. Колокольчик (focus=badge) показывает счётчик; стена (focus=wall) — список с действиями «прочитать» / «открыть».
Подписки
Тип (news, cat, user, tag, xfield, all) задаёт, на что подписан пользователь. Кнопка на странице — focus=subscribe с stype и id. Подробнее: типы подписок.
Сценарии и шаблоны
Текст события берётся из scenarios/*.tpl темы; письма и ЛС — из wrappers/. Теги вроде {title}, {full-link}, {unsubscribe-url} описаны в шаблонах сценариев.
Параметр focus во вставке
focus | Куда | Что |
|---|---|---|
css | шапка | стили и служебные meta для автообновления |
js | низ страницы | скрипты |
badge / wall / subscribe | разметка | колокольчик, стена, кнопка подписки |
Полная вставка: Вставка в шаблоны. Подробные сниппеты cat / tag / xfield / user: Include в шаблонах темы.
Разделы документации
Установка
Архив, автозагрузка, таблицы, копирование шаблонов
Вставка в шаблоны
Подписка, стена, колокольчик, стили и скрипты
Include в шаблонах
Места в теме и сниппеты news/cat/tag/xfield/user/all
Страница уведомлений
do=notifications и ЧПУ /notifications/
Типы подписок
Новость, категория, автор, тег, доп. поле, все
Шаблоны и теги
Сценарии, письма, подписка, лента
Своё событие
notifySend и сценарий из дополнения или модуля
Рекомендуемая последовательность обучения
- Новичок? Начните с установки.
- Подключить тему? Смотрите вставку в шаблоны, include и страницу уведомлений.
- Свои тексты событий? Шаблоны сценариев и сценарии.
- Свой код? Своё событие, запросы ленты, справочник Notify.
- Обновления? История изменений.