DevCraft Документации

Начало работы v200.1.0

DLE Уведомления для DataLife Engine: подписки на новости, разделы и авторов, колокольчик, лента, почта и личные сообщения.

Описание плагина

DLE Уведомления — плагин DevCraft Admin для DataLife Engine. Он добавляет на сайт подписки и сообщения о событиях: человек следит за новостью, разделом, автором, тегом, доп. полем или за всеми новыми материалами и узнаёт, когда вышла публикация, её поправили, оставили комментарий, упомянули @ник, поставили оценку или прошла модерация. Это не штатная почта DLE «как есть», а отдельная лента с правами групп, шаблонами в теме и кнопкой «Подписаться» там, где вы сами её поставите.

На сайте посетитель видит колокольчик со счётчиком непрочитанных, стену (ленту) и при необходимости отдельную страницу /notifications/. Те же события можно слать письмом и личным сообщением DLE. Тексты писем, личных сообщений и записей ленты — обычные файлы .tpl в теме: правите формулировки и поля вроде {title} без правки ядра. Нет файла в текущем скине — берётся Default. Стили и скрипты оболочки идут через {devcraft}; блоки колокольчика и кнопок — через {include} к Controller/show_notifications.php.

Владелец сайта включает типы подписок и каналы, задаёт права групп и смотрит подписчиков в админке ?mod=notifications. Разработчик темы копирует templates/Default/devcraft/notifications/ в свой скин. Для своего кода есть функции notify*: событие из хака или другого модуля попадает в ту же ленту. Свой канал доставки подключается через ChannelInterface — свой канал. Версия 200.1.0 рассчитана на DLE 20+ и Admin ≥ 200.4.1.

Цена

Возможности

  • кнопка «Подписаться» у новости, раздела, автора, тега, доп. поля или на все новые материалы;
  • колокольчик со счётчиком непрочитанных (можно обновлять сам);
  • стена и отдельная страница /notifications/;
  • шаблоны событий, писем и ленты в теме;
  • права по группам DLE и личные настройки (почта / личные сообщения);
  • функции notify* для своего кода;
  • свои события из хака или другого модуля.

Что включено сразу

После установки, без сохранения настроек, действуют значения из схемы модуля. Колокольчик на сайте всё равно появится только после вставки в тему и входа человека с правом группы.

Способы доставки (уже в коде)

КодГдеВ комплекте ядраВключён сразу
siteколокольчик и стена на сайтедада (запись в ленту всегда)
emailписьмо на почту профилядада (send_email)
pmличное сообщение DLEданет (send_pm)

Подписки и события

Включено: подписки на новость, раздел, автора, тег и на все новые материалы; письма о публикации и о правке новости (режим «любая правка»; при режиме «только доп. поле» — поле новости из настройки xf_edit_notify); правке новости из закладок; одобрении и отклонении модерации; упоминании @ник; ответе на комментарий; рейтинге новости и комментария; удалении комментария; подписке на человека. Самообновление колокольчика — 15 секунд. На стене до 20 записей, в блоке «Новые публикации» — 10.

Выключено: подписка на доп. поле; рассылка любого комментария всем подписчикам новости; автоподписка при комментарии или голосе; мягкое удаление записей ленты; личные сообщения как канал.

Доп. поля профиля для «не слать почту / не слать событие» по умолчанию пустые: личных выключателей нет, пока вы их не укажете. Отдельной галочки «Уведомить подписчиков» в форме новости нет — для ручного режима заведите доп. поле новости (удобно «Да/Нет») и выберите его в настройках. Права групп задаются отдельно: права групп.

Для кого

Владельцы сайта и модераторы

Ставите Admin, затем Уведомления, сохраняете типы подписок и каналы, вставляете {include} в тему. Дальше люди сами подписываются; вы смотрите права групп.

Разработчики темы

Копируете templates/Default/devcraft/notifications/ в свой скин, правите кнопки и колокольчик, не ломая имена полей и классы вроде dc-notify-subscribe. См. Куда вставить в тему.

Требования

ЧтоМинимум
DataLife Engine20.0+
PHP8.3+
DevCraft Admin≥ 200.4.1

Полный список шагов: Установка.

Дерево структуры

Корень сайта после установки. В скобках — зачем папка.

manifest.php — меню, запросы, meta
settings.schema.php — форма настроек
permissions.defs.php — права групп
changelog.data.php — история в панели
NotificationsIdentity.php — MODULE/CODE
badge.tpl / wall.tpl / subscribe/*.tpl
scenarios / wrappers — тексты событий и писем

Кратко:

  • devcraft/src/modules/Notifications/ — админка, логика и вставки на сайт.
  • Controller/show_notifications.php — {include} в теме (focus=badge|wall|subscribe|…).
  • Public/ — стили и скрипты сайта через siteAssets (в теме нужен тег {devcraft}).
  • templates/…/notifications/ — разметка колокольчика, стены и кнопок.

Быстрый старт

Поставьте Admin и Уведомления

Сначала DevCraft Admin, затем ZIP через менеджер плагинов. В devcraft/ выполните composer dump-autoload. Подробности: Установка.

Настройки

Откройте ?mod=notifications, включите типы подписок и каналы (сайт, почта, личные сообщения). Права групп — отдельная страница модуля.

Тема

В шапке — тег {devcraft} (стили и скрипты модуля). В меню — колокольчик. На полной новости — кнопка подписки. См. Колокольчик, стена и кнопка.

Проверка

Войдите как пользователь с правом подписки, нажмите кнопку на новости, откройте колокольчик. Страница списка: Страница уведомлений.

Руководства и разделы

СтраницаО чём
УстановкаZIP, Composer, таблицы, копия шаблонов
Колокольчик и стенаfocus в теме
Куда вставитьновость, раздел, тег, автор
Типы подписокчто срабатывает при новой записи и при правке
Справочникnotify* и show_notifications.php
История изменений200.1.0

Дальше

  1. Установить плагин.
  2. Пройти быстрый старт.
  3. Настроить права групп и шаблоны темы.

На этой странице