Для MODX не хватает компонента обмена личными сообщениями. Мне приходилось делать переписку между пользователями на основе TicketsComment, но работало все ужастно и грузило сервер. Наконец-то получилось сделать более-менее адекватный мессенджер. Разработал только основы мессенджера — рабочий вариант. Он работает уже гораздо лучше чем на TicketsComment.
Основная проблема сделать мессенджер — это реализовать RealTime уведомления. Для уведомлений разработан компонент gtsNotify и мессенджер написан с его использованием.
Сейчас RealMessenger для bootstrap v4 выглядит так:



Установка
Нужно установить pdoTools, getTables. Установить и настроить gtsNotify (Зарегистрироваться на сервисе gtsnotify.ru). Подключить bootstrap версии 3 или версии 4. Для bootstrap версии 4 подключить Font Awesome Free 5.14.0. Для других фреймвёрков необходимо будет отредактировать стили и чанки.
Установить и настроить UserFiles. Рекомендую сделать 404 страницу без вызова gtsNotify.

Устанавливаем RealMessenger и на нужной странице вызываем сниппет:
{'!RealMessenger' | snippet ]}
Для bootstrap v4 указываем чанки:
{'!RealMessenger' | snippet :[
    'OuterTpl'=>'b4.tpl.RealMessenger.outer',
    'SearchContactTpl'=>'b4.tpl.RealMessenger.search.contact',
]}
Если нужно организовать переписку между 2 группами пользователей, например, врачами и пациентами, то создаем 2 страницы: мессенджер для врачей и мессенджер для пациентов.
Используем параметры:
[[!RealMessenger?
	&ContactGroups=`2`
	&ContactGroupsPageIds=`500`
]]
ContactGroups — id группы с которой с этой страницы ведется переписка. Например, страница пациентов и 2 — id группы врачей.
ContactGroupsPageIds — id страницы на которой размещен месседжер для врачей.

Пакеты:
gtsnotify-1.2.6-beta.transport.zip
realmessenger-1.1.2-beta.transport.zip
19 сентября 2020, 05:44    Александр Туниеков Компоненты 0    2 0

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Вы можете авторизоваться на сайте через:
    YandexGoogleVkontakte