DevCraft Документации
Руководства

Типы подписок 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. Полный разбор: Куда вставить в тему.

Каналы одной подписки

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

См. также

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