[Tickets] Сообщения
Разбираясь с компонентом Tickets в процессе работы над книгой отзывов, особенно в части комментариев, крепла уверенность, что в Tickets есть почти все необходимое для создания системы личных сообщений. Нужно лишь чуть подкрутить. Поэтому не долго думая, решил попробовать. Получилось так
![](https://file.modx.pro/files/1/c/e/1cea70be750aed64fe3c151f0c3c3adcs.jpg)
Как это работает?
Для общения выбираем слева пользователя, справа отражается переписка. Как в одноклассниках. Через определенный интервал времени (настраиваемый) проверяются новые сообщения и подгружаются через ajax. О новых сообщения пользователь получает уведомление по почте. Список пользователей формируется сниппетом pdoUsers, в котором указываются нужные условия. В данном случае, выводятся все пользователи группы MessageUsers, ну кроме, конечно, текущего пользователя. Пользователей в нее я добавлял через админку.
Сразу хочу сказать, что вопрос с оформлением я пока отложил. Я хотел выяснить, потянет Tickets или нет. Мне казалось, что должен потянуть. Оказалось, не казалось. Василий вложил в ядро достаточно функционала. Этой радостью я и поспешил поделиться со всеми. :)
Конечно, выглядит простовато. Но задачи сделать мегасистему не стояло. Но, в принципе, хотелось бы узнать, что от такого модуля ожидают? Чего не хватает?
Update. Теперь поближе посмотреть можно тут.
Пользователи: user1 (Джеки Чан), user2 (Чак Норрис), user3 (Памела Андерсон). Пароли: 123.
![](https://file.modx.pro/files/1/c/e/1cea70be750aed64fe3c151f0c3c3adcs.jpg)
Как это работает?
Для общения выбираем слева пользователя, справа отражается переписка. Как в одноклассниках. Через определенный интервал времени (настраиваемый) проверяются новые сообщения и подгружаются через ajax. О новых сообщения пользователь получает уведомление по почте. Список пользователей формируется сниппетом pdoUsers, в котором указываются нужные условия. В данном случае, выводятся все пользователи группы MessageUsers, ну кроме, конечно, текущего пользователя. Пользователей в нее я добавлял через админку.
Сразу хочу сказать, что вопрос с оформлением я пока отложил. Я хотел выяснить, потянет Tickets или нет. Мне казалось, что должен потянуть. Оказалось, не казалось. Василий вложил в ядро достаточно функционала. Этой радостью я и поспешил поделиться со всеми. :)
Конечно, выглядит простовато. Но задачи сделать мегасистему не стояло. Но, в принципе, хотелось бы узнать, что от такого модуля ожидают? Чего не хватает?
Update. Теперь поближе посмотреть можно тут.
Пользователи: user1 (Джеки Чан), user2 (Чак Норрис), user3 (Памела Андерсон). Пароли: 123.
Поблагодарить автора
Отправить деньги
Комментарии: 20
Круто! Хотелось бы подробнее посмотреть как всё это сделано!
Не поверишь, но все достаточно просто. :) Погоняю немножко, проверю и выложу описание.
Дорогой ты мой человек, это мегакруто! :)
Основа основ — как добавлять пользователей в список контактов. Вряд ли нам нужно пять тысяч пользователей зарегистрированных на портале? :)
Следующий шаг — понять кому можно писать сообщения, а кому нет. Например, я юзер Петя и есть на портале юзер Вася, который постит интересные топики и новости. Я хочу написать Васе сообщение. Тыкаю специальную ссылку под топиком или новостью и Васе отправляется запрос — «Может ли пользователь Петя вам отправить сообщение (добавить вас в список контактов)». Все это можно изобразить настройками «приватности» в профиле: «Кто может отправлять вам сообщение без запроса, — например, — Все и анонимусы». И тогда Васе, вместо запроса, сразу уйдет сообщение и он добавится в список моих контактов.
Небольшая полезность — вложенность диалогов как на айфоне.
Сплю мало, речь бессвязна, если что-то непонятно написал — готов разъяснить. :)
Основа основ — как добавлять пользователей в список контактов. Вряд ли нам нужно пять тысяч пользователей зарегистрированных на портале? :)
Следующий шаг — понять кому можно писать сообщения, а кому нет. Например, я юзер Петя и есть на портале юзер Вася, который постит интересные топики и новости. Я хочу написать Васе сообщение. Тыкаю специальную ссылку под топиком или новостью и Васе отправляется запрос — «Может ли пользователь Петя вам отправить сообщение (добавить вас в список контактов)». Все это можно изобразить настройками «приватности» в профиле: «Кто может отправлять вам сообщение без запроса, — например, — Все и анонимусы». И тогда Васе, вместо запроса, сразу уйдет сообщение и он добавится в список моих контактов.
Небольшая полезность — вложенность диалогов как на айфоне.
Сплю мало, речь бессвязна, если что-то непонятно написал — готов разъяснить. :)
Основа основ — как добавлять пользователей в список контактов. Вряд ли нам нужно пять тысяч пользователей зарегистрированных на портале? :)Список пользователей формирует сниппет pdoUsers со всеми вытекающими мегавозможностями выбора. В моем случае, он выбирает пользователей из группы MessageUsers. А по какому условию добавлять в группу каждый может решить сам — в админке или сниппетом.
Следующий шаг — понять кому можно писать сообщения, а кому нет… Все это можно изобразить настройками «приватности» в профиле:Про профиль мысль приходила, но пока ничего толкового. Правда сильно и не напрягался.
Небольшая полезность — вложенность диалогов как на айфоне.Не знаком с айфонами. Дружу с самсунгом. В Whatsapp и Viber диалоги такие же плоские.
Сплю мало, речь бессвязна, если что-то непонятно написал — готов разъяснить. :)Аналогично. Может поэтому я тебя и понимаю. :) Спасибо подробности.
Спасибо подробности.Вот ведь сократил. :) Имел ввиду — спасибо за подробный комментарий.
Ребят, подскажите, насколько будет правильно создать из этого дополнение, чтобы упростить подключение?
Можно, конечно, написать инструкцию: добавить туда это, скачать эти файлы, создайте настройку, скопируйте сниппет. Но уж очень муторно писать и еще муторнее читать.
Можно, конечно, написать инструкцию: добавить туда это, скачать эти файлы, создайте настройку, скопируйте сниппет. Но уж очень муторно писать и еще муторнее читать.
Нормально будет.
Если это можно будет устанавливать на Tickets без проблем — все только обрадуются.
Если это можно будет устанавливать на Tickets без проблем — все только обрадуются.
Просто меня смущает то, что это не полноценный модуль, а, так сказать, надстройка, обвес. В системе должны стоять pdoTools и Tickets. Устанавливая мое дополнение человек должен понимать это. Хотя может я зря замарачиваюсь.
Буду пробовать создать свой первый компонент. Акцент на «первый» как намек на терпение, ибо придется подождать. :)
Буду пробовать создать свой первый компонент. Акцент на «первый» как намек на терпение, ибо придется подождать. :)
А ты посмотри, как сам Tickets загружает pdoTools и Jevix в ресолвере.
Точно так же и твой компонент может загрузить Tickets, а он подтянет всё остальное.
Точно так же и твой компонент может загрузить Tickets, а он подтянет всё остальное.
Будет круто, если получится функционал, как в Livestreet. Нравится тем, что можно организовать закрытое обсуждение.
Это можно сделать и в MODX через ограничение прав. Делаешь закрытый ресурс, доступ к которому имеют только избранные, и обсуждаешь размер булок Анфисы Чеховой :). Ну или стихи Есенина читаешь. Или в Livestreet как-то по другому?
Только выглядеть это должно, как сообщения.
Прикольно на ЛС походит =) очень круто.
Теперь поближе можно пощупать тут.
3 пользователя: user1,user2,user3. Пароль для всех один — 123.
Можно открыть в разных браузерах и попереписываться. Заодно и проверить на наличие багов.
3 пользователя: user1,user2,user3. Пароль для всех один — 123.
Можно открыть в разных браузерах и попереписываться. Заодно и проверить на наличие багов.
Не очень корректно как то:
![](https://file.modx.pro/files/d/3/5/d357da78246b0e05f761f536abc9db89.png)
после добавления комментария ol и li оказались в одном ряду, и еще один ol вложен внутрь другого
![](https://file.modx.pro/files/d/3/5/d357da78246b0e05f761f536abc9db89.png)
после добавления комментария ol и li оказались в одном ряду, и еще один ol вложен внутрь другого
Вёрстка наверное сейчас не главное?
Лучше на начальном этапе поправить пару небольших ошибок, чем потом думать, куда пол сайта пропало из-за верстки или какого нибудь тега незакрытого
Такого не должно быть. Щас разберемся.
Поправил. Спасибо.
Подготовил пакет и инструкцию.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.