Типы подписок v200.1.0
Новость, раздел, автор, тег, доп. поле, все: на что подписан человек и когда приходит сообщение
Подписка — пара subscription_type + subscription_id (всегда строка). Совпадение с событием ищет модуль; дальше работают права, личные настройки и каналы.
Когда срабатывает
| Тип | Объект | Событие |
|---|---|---|
news | номер новости | правка этой новости |
cat | номер раздела | новая публикация в разделе |
user | номер автора | новая публикация этого автора |
tag | текст тега | новая новость с тегом |
xfield | поле/значение, например year/2019 | новая новость с таким значением |
all | не используется | любая новая новость |
news — только правка. cat / user / tag / xfield / all — только новая публикация. Так задумано: иначе подписчик раздела получал бы и каждую правку чужих статей.
Включение в админке
Настройки модуля:
- флаги типов подписок;
- «Уведомлять при публикации» — новая запись;
- «Уведомлять об обновлении новости» — правка;
- «Режим уведомления при правке»: любое редактирование или только при включённом доп. поле;
- «Доп. поле новости: уведомить подписчиков» (
xf_edit_notify) — поле новости (удобно «Да/Нет»). Нужно для ручного режима; отдельной галочки в форме редактирования нет.
В Правах групп тип можно запретить отдельно.
Примеры вставки
Раздел (main.tpl, только страница раздела):
[available=cat]
{include file="devcraft/src/modules/Notifications/Controller/show_notifications.php?focus=subscribe&stype=cat&id={category-id}"}
[/available]Тег (main.tpl, только страница тега; {cloudstag} — тег из адреса):
[available=tags]
{include file="devcraft/src/modules/Notifications/Controller/show_notifications.php?focus=subscribe&stype=tag&id={cloudstag}"}
[/available]Доп. поле (main.tpl; id собирается модулем из адреса, формат поле/значение):
[available=xfsearch]
{include file="devcraft/src/modules/Notifications/Controller/show_notifications.php?focus=subscribe&stype=xfield"}
[/available]Все новости:
{include file="devcraft/src/modules/Notifications/Controller/show_notifications.php?focus=subscribe&stype=all"}Число подписчиков на кнопке — {count} в subscribe/*.tpl. Полный разбор: Куда вставить в тему.
Каналы одной подписки
У записи независимо: сайт, почта, личные сообщения. Выбираются при подписке и хранятся у пользователя.