Giter Site home page Giter Site logo

gtsnotify's Introduction

Я переделал компонент для работы через сервер уведомлений comet-server.ru. Работа через мой сервер gtsnotify.ru прекращается. Это не выгодно как оказалось.

Для многих сайтов требуются RealTime уведомления для работы чатов и мессенджеров, автоматической перезагрузки страницы при изменении данных на сервере и уведомлений пользователей о поступлении новых товаров, о, например, выпуске новой проды на книжных сайтах. Для этой цели разработан компонент gtsNotify для CMS MODX

Для работы RealTime уведомлений требуется регистрация на comet-server.ru.

В настройках компонента, в Пакеты->gtsNotify вбить секретный ключ и публичный id с comet-server.ru.

С использованием этого компонента разработан компонент мессенджера для MODX - RealMessenger.

Компонент разработан с использованием pdoTools и bootstrap. Поддерживается bootstrap версии 3 и версии 4. Но можно стилизовать как вам угодно!

Установка Для bootstrap v4 подключить на сайте Font Awesome Free 5.14.0 или другую версию, но, возможно, надо будет сменить иконки. Установить с modstore.

В navbar сайта или где вам удобно разместить сниппет gtsNotify: {if $_modx->user.id > 1}{'!gtsNotify' | snippet}{/if}

Для bootstrap v4, в системную настройку gtsnotify_frontend_css прописать [[+cssUrl]]web/b4_default.css.

Использование В настройках компонента создаются каналы уведомлений: Нужно прописать Имя канала, Иконку, Чанк уведомления в меню канала и поставить Активно. Для RealMessenger канал создается при его установке.

API $gtsNotify = $modx->getService('gtsNotify', 'gtsNotify', MODX_CORE_PATH . 'components/gtsnotify/model/', []); if ($gtsNotify) { $mess = [ 'message' => "{$message}", ]; if($notify = $this->gtsNotify->create_notify($mess)){ $notify->addPurposeGroups('1,5,11','material_error'); $notify->save(); $notify->send(); } } Функции назначения получателей: $notify->addPurposeGroups(Группы пользователей MODX через запятую,Имя канала, Ссылка в уведомлении); $notify->addPurpose($user_id,$channels,$url = '') В браузере получаем сообщения: document.addEventListener("gtsnotifyprovider", function(event) { //console.log('notify',event.detail); for(var key in event.detail.channels) { if(key == 'RealMessenger'){ user_data = event.detail.channels[key].data.user_data; for(var chat in user_data) { $el_chat = $('.realmessenger-chat[data-id="' + chat + '"]'); $badge = $el_chat.find('.messages-new-count'); $badge.text(user_data[chat].chat_count); if(user_data[chat].chat_count == 0){ $badge.hide(); }else{ $badge.show(); if($el_chat.hasClass("active")){ $messages = $(event.detail.data.messages); $messages.removeClass('ownmessage'); $('#realmessenger-messages').append($messages); var d = $('#realmessenger-messages'); d.scrollTop(d.prop("scrollHeight")); } } } } } });

gtsnotify's People

Contributors

touol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.