Вставка в шаблоны темы v200.1.0
include: подписка, стена, колокольчик, стили и скрипты
Точка входа на фронте — devcraft/src/modules/Notifications/Site/web.php через обычный DLE-include. Разметка берётся из:
templates/ВАША_ТЕМА/devcraft/notifications/
Нет файла в активном скине — используется Default.
Полное руководство по местам вставки и сниппетам cat / tag / xfield / user: Include в шаблонах темы.
Параметр focus
| focus | Куда в теме | Что отдаёт |
|---|---|---|
css | шапка (<head>) | стили + meta для AJAX и автообновления |
js | низ страницы | скрипты |
badge | меню / шапка | колокольчик |
wall | профиль / контент | стена списка |
subscribe | новость / категория / … | кнопка подписки |
Пример шапки и подвала:
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=css"}
…
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=badge"}
…
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=js"}focus=css доступен и гостям (нужны стили/meta). Виджеты подписки, стены и колокольчика — только авторизованным.
Подписка на новость
В fullstory.tpl:
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=subscribe&stype=news&id={news-id}"}Рендерится кнопка «Подписаться» / «Отписаться» из subscribe/news.tpl.
Другие типы
| Сущность | Query |
|---|---|
| Категория | ...?focus=subscribe&stype=cat&id={category-id} (в main.tpl: [available=cat]) |
| Тег | ...?focus=subscribe&stype=tag&id={cloudstag} (в main.tpl: [available=tags]) |
| Доп. поле | ...?focus=subscribe&stype=xfield на xfsearch ([available=xfsearch]; id из URL) или id=поле/значение |
| Автор | ...?focus=subscribe&stype=user&id={user-id} |
| Все новые | ...?focus=subscribe&stype=all |
Полные сниппеты и примеры URL: Include в шаблонах темы. Семантика типов: типы подписок.
Стена
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=wall"}Отдельный URL списка: Страница уведомлений (do=notifications).
Колокольчик
В меню / шапке:
{include file="devcraft/src/modules/Notifications/Site/web.php?focus=badge"}Скрипты один раз внизу страницы (focus=js): подписки, «прочитать все», автообновление. Интервал — «Интервал автообновления колокольчика» в настройках модуля (секунды; 0 — без автообновления). Meta с базой AJAX и периодом выводит focus=css.
Кто видит блоки
| Блок | Право группы |
|---|---|
| Подписка | «Разрешить подписываться…» на соответствующий тип |
| Стена | «Разрешить просматривать стену» |
| Колокольчик | «Разрешить использование уведомлений» |
Гостям виджеты не выводятся (css / js — да).
Файлы оформления
templates/ВАША_ТЕМА/devcraft/notifications/
subscribe/ кнопки по типам
wall.tpl стена
item.tpl одна запись
item_actions.tpl кнопка «Открыть»
badge.tpl колокольчик
notifications.css стили
notifications.js клиентская логикаПлейсхолдеры: шаблоны и теги.