Простой скрипт, обращающийся к файлу каждые 5 секунд, который получает новые уведомления.
Разархивировать в корень и в
/themes/default/templates/system/layout/default.phtml в тег <head> подключить скрипт:
<script src="<?= $this->asset('js/notification.js', true) ?>"></script>
Что делает скрипт:
Пользователь получает уведомление, скрипт это отлавливает и посылает звуковое уведомление и меняет заголовок страницы на: "n новое уведомление", все делается без перезагрузки страницы, через Fetch API.
P.S
Из-за политики браузеров для Autoplay (подробнее: https://developer.chrome.com/b ... play/)
После загрузки страницы, звуковое уведомление может не приходить пользователю, пока он не начнет взаимодействовать со страницей
То есть, после перезагрузки страницы пользователю необходимо будет куда-нибудь тыкнуть на странице
Заголовок страницы будет менятся в любом случае
Рабочая и актуальная версия тут
update
- Добавлен мигающий title
- Теперь так же в сайдбаре обновляется счетчик уведомлений (без перезагрузки страницы)
- Исправлено, что не на всех страницах подгружался аудио
- Теперь не надо ничего создавать в таблицах, скрипт сделает это сам
Микрофикс, здесь все работает:
В общем, есть некоторые вещи, которые хороши, но вам нужно серьезно редактировать свой код.
# Akbarali (28.06.2022 / 09:14)
При желании вы можете использовать версию без изменений базы данных и с более чистым кодом.
https://telegra.ph/Johncms-Add ... 06-28
образец: http://johncms.akbarali.uz/
Не очень красиво критиковать чужое, выложенное бесплатно для общего пользования и рекламировать в теме что-то свое. В любом деле есть человек который лучше, это не означает что остальным нельзя ничего делать. Нужно уважать чужой труд.
Akbarali, ссылка на скачивание скрипта должна вести на этот сайт (и только на этот!). Для своего скрипта можно создать отдельную тему, оформленную внятно, по правилам форума.
galtsev.t, он не критикует ) У разработчиков так принято, что если менее опытный напишет г-код, то ему дают рекомендации с целью улучшения качества этого кода. Это нормально и правильно, потому что таким образом человек сможет научиться писать понятный самодокументированный код.
Автору темы респект за труды, and sorry for the offtopic.
Сам JS нормально работает, а все остальное - да, в бекенде я не силен, да и со всей архитектурой джона мне лень разбираться и незачем, вприцнипе)
Так что любые модернизации и и полная адаптация под JohnCMS - приветствуется и я ничего против этого не имею)