Автор дополнения
Alexey Naumov
Пакетов
8
Закачек
5 637
Обычно отвечает в течение 4 часов
Автор дополнения
Пакетов
8
Закачек
5 637
Обычно отвечает в течение 4 часов
Версия 3.6.0-pl
Дата выпуска 28.03.2024
Загрузки 4 791
Просмотры 26 318
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 3.0 !
Доступны разные версии компонента для MODX 2 и MODX 3:

MODX 2.x
  • easyComm версии 1.15.0-pl (от 26.03.2024) — последняя версия с поддержкой ответов. Прочитайте статью перед обновлением на нее: https://modx.pro/components/24637
  • easyComm версии 1.14.0-pl (от 04.01.2024) — предыдущая стабильная версия
MODX 3.x
В версии под MODX 3 нет системы плагинов для добавления дополнительных полей.
  • easyComm версии 3.6.0-pl (от 26.03.2024) — последняя версия с поддержкой ответов. Прочитайте статью перед обновлением на нее: https://modx.pro/components/24637
  • easyComm версии 3.3.0-pl (от 04.01.2024) — предыдущая стабильная версия

Нужная версия будет выбрана при установке автоматически, в зависимости от версии MODX на вашем сайте.

Назначение

Компонент предназначен для создания на сайтах таких разделов и блоков, как:
  • отзывы;
  • комментарии;
  • вопросы пользователей.

Особенность компонента — механизм пользовательских оценкок (от 1 до 5, настраивается), на основании которых считается рейтинг по 2-м алгоритмам (средний и продвинутый).

Продвинутый рейтинг считается как нижняя граница доверительного интервала Вильсона (Wilson) для параметра Бернулли (описание). Этот алгоритм позволяет избежать проблем расчета рейтинга при небольшом количестве оценок.

easyComm работает как с неавторизованными пользователями (гостями), так и с авторизованными.

Описание работы компонента


— Пользователь сайта оставляет свой комментарий/отзыв/вопрос к чему либо (например, товару) через специальную форму.
— Администратор сайта получает уведомление на почту, в специальном разделе панели управления сайтом управляет сообщениями (можно опубликовать, удалить, отредактировать), а также оставить свой ответ на него.
— Если пользователь оставил электронную почту, то он получит уведомление на свой email.
— Если используется поле Оценка, то после публикации сообщения происходит перерасчет рейтинга.
— Вы можете включить голосование за каждое сообщение, чтобы пользователи могли оценить его полезность.

Замечание
Компонент работает с не авторизованными пользователями и не носит социальной направленности. Т.е. он не проектировался как модуль для добавления комментариев в блогах или каких-либо социальных сетях (хотя вы можете попробовать использовать его и там на свой страх и риск).
Цель easyComm — связь с покупателями интернет магазинов, посетителями сайтов компаний, продающих услуги.

Пример работы

На этом общем демонстрационном скриншоте можно увидеть: форму добавления отзыва, вывод простого и расширенного рейтинга, вывод списка отзывов с возможностью голосования за каждый. Нажмите на изображение для увеличения.



Возможности

1. Создание произвольного количества цепочек сообщений. Сообщения привязаны не к ресурсам, а к цепочкам, а те в свою очередь к ресурсу, это позволяет на одной странице создать несколько цепочек сообщений, к примеру, Отзывы и Вопросы.

2. Полноценное управление всеми сообщениями и цепочками через админку. Компонент добавляет свой пункт в меню Приложения, через который администратор может создавать/редакктировать/удалять как цепочки, так и сообщения.

3. Вкладка «Сообщения» на странице ресурса. Повторяет функционал, описанный в предыдущем пункте, но с условием, что здесь доступны только сообщения и цепочки, относящиеся к текущему ресурсу.

4. Уведомления по почте. Приходит уведомления администратору о новом сообщении, а если пользователь оставил свою электронную почту, то и ему о том, что он оставил сообщение и о том, что его сообщение опубликовано на сайте.

5. Оценки и рейтинг. В компонент добавлен функционал, позволяющий пользователям давать свою оценку чего-либо, а на ее основании рассчитывается общий рейтинг по 2-м алгоритмам.

6. Добавление произвольных полей. Если вам недостаточно стандартного набора полей у сообщения (а это Дата, Имя пользователя, Эл. почта, Контакты, Оценка, Тема сообщения, Текст сообщения, Автор ответа, Текст ответа), то при помощи системы плагинов есть возможность добавить произвольное количество своих полей.

7. Несколько полей рейтинга. Хоть в компоненте присутствует одно поле rating, но механизм добавления дополнительных полей позволяет добавить в том числе и поля с типом рейтинг (звездочками), причем для них так же будут высчитываться средние показатели. Таким образом вы можете дать возможность проставлять сразу несколько оценок.

8. Кастомизация внешнего вида. Внешний вид на фронтенде изменяется привычным способом — путем создания своих чанков. В админке так же есть возможность изменить внешний вид: можно поменять как набор колонок в списках, так и поля, доступные при редактировании сообщения.

9. Поддержка Gravatar. Сниппет ecMessages поддерживает gravatar. Если у сообщения заполнен email, то в чанке вывода сообщения доступен плейсхолдер gravatar.

10. Вывод расширенного рейтинга. Сниппет ecThreadRating поддерживает вывод подробной информации о голосах пользователей. Вместе с компонентом идет отдельный чанк tpl.ecThreadDetailedRating, в котором реализован подобный вывод.


11. Голосование за сообщение. Вы можете включить голосование (нравится/не нравится) за каждый отзыв на вашем сайте и, например, в дальнейшем выводить сначала полезные отзывы.

12. По-умолчанию оценка проставляется от 1 до 5, но вы можете это изменить, например сделать от 1 до 10. Для этого есть специальная настройка, также потребуется внести изменения в html разметку и css правила.

13. Прикрепление файлов (фото), начиная с версии 1.11.0-pl. Теперь вы можете дать возможность прикреплять файлы (фотографии) к сообщениям, используйте для этого параметры files, fileTypes, fileSize, filesCount сниппета ecForm.

Зависимости

Для корректной работы компонента необходимо:
  • подключенные на сайте jQuery и плагин jquery.form, их НУЖНО ПОДКЛЮЧИТЬ САМОСТОЯТЕЛЬНО, компонент это не делает;
  • установленная библиотека pdoTools,
  • в чанке вывода сообщения дополнительно используется сниппет dateAgo для формирования «красивой» даты.

Внимание! Начиная с версии 1.11.4-pl (15.02.2022) и 3.1.3-pl (03.05.2023) добавлен файл скриптов /assets/components/easycomm/js/web/ec.js, не требующий зависимостей в виде jQuery и jquery.form. Вы можете указать этот файл в настройках компонента.

Более подробные сведения о работе с компонентом содержатся в документации.

Видео с демонстрацией работы


На видео показаны основные возможности компонента. Хотя видео довольно старое и часть нового функционала не показана.



Фото-презентация

Пример использования компонента, создаются 2 цепочки сообщений (Отзывы и Вопросы), показаны основные возможности (на скриншотах версия 1.8.5-pl).
























Обсуждение компонента в сообществе MODX.PRO

ВАЖНО: БЕКАП ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЕН. Прочитайте публикацию: https://modx.pro/components/24637

3.6.0-pl (26.03.2024)

  • Добавлены ответы на сообщения (объект ecReply)
  • Обновлен основной js файл в связи с новыми функциями
  • Обновлены css стили и html разметка чанков. Старые стили доступны в файле ec_3.3.0.css
  • Сниппет ecMessages: параметр tpl теперь отвечает за вывод всех сообщений сразу, чанк tpl.ecMessages.Row удален.
  • Сниппет ecMessages: удалены параметры tplWrapper, tplEmpty, outputSeparator, toSeparatePlaceholders
  • Сниппет ecMessages: новый параметр repliesEnable
  • Обновлен чанк tpl.ecForm
  • Новый сниппет ecReplyForm
  • Поле properties объекта ecThread теперь хранит сведения о 2х сниппетах (ecForm и ecReplyForm)
  • Продвинутый resolver структуры БД в инсталляторе
  • defaultEngine для MySQL теперь InnoDB (вместо MyISAM)
  • Переименованы поля ecThread (resource -> resource_id), ecMessage (thread -> thread_id), ecVote (message -> message_id)
  • Переименованы timestamp поля объектов (напр. createdon => created_on)
  • Изменена работа уведомлений через email, обновились соответствующие чанки и параметры сниппетов
  • Удалена настройка ec_use_reply_templates
  • Множество других мелких исправлений

3.5.0-pl (22.02.2024)

  • Добавлены ответы на сообщения (объект ecReply)
  • Обновлен основной js файл в связи с новыми функциями
  • Обновлены css стили и html разметка чанков. Старые стили доступны в файле ec_3.3.0.css
  • Сниппет ecMessages: параметр tpl теперь отвечает за вывод всех сообщений сразу, чанк tpl.ecMessages.Row удален.
  • Сниппет ecMessages: удалены параметры tplWrapper, tplEmpty, outputSeparator, toSeparatePlaceholders
  • Сниппет ecMessages: новый параметр repliesEnable
  • Обновлен чанк tpl.ecForm
  • Новый сниппет ecReplyForm
  • Поле properties объекта ecThread теперь хранит сведения о 2х сниппетах (ecForm и ecReplyForm)
  • Продвинутый resolver структуры БД в инсталляторе
  • defaultEngine для MySQL теперь InnoDB (вместо MyISAM)
  • Множество других мелких исправлений

3.3.0-pl (04.01.2023)

  • Три новые темы с векторными иконками для звездочек
  • Заменены иконки на векторные в блоке голосования
  • Новый параметр starsTheme для сниппетов ecForm, ecMessages, ecThreadRating
  • Новый параметр algorithm для сниппета ecThreadRating
  • Новый параметр starWidthAndGup для сниппета ecThreadRating
  • Исправлен баг со снятием сообщения с публикации в панели управления

3.2.2-pl (28.12.2023)

  • Добавлен checkbox с согласием на обработку персональных данных в форму (параметр agreementCheckbox сниппета ecForm)

3.2.1-pl (03.11.2023)

  • Исправлены ошибки в таблице сообщений, если связанный с цепочкой ресурс был удален

3.2.0-pl (19.09.2023)

  • Возможность прикреплять файлы к сообщениям в админке
  • Переименован файл ec.default.css в ec.css
  • Файл ec.default.js переименован в ec.old.js, теперь по-умолчанию используются скрипты без зависимостей от jQuery

3.1.3-pl (03.05.2023)

  • Исправлена ошибка невозможности удаления своего голоса при голосовании
  • Добавлена версия скриптов компонента без использования jQuery. Если у вас не используется jQuery и вы не хотите его подключать - укажите в настройках файл: /assets/components/easycomm/js/web/ec.js

3.1.2-pl (27.06.2022)

  • Добавлен параметр user для сниппета ecMessage
  • Исправлена фатальная ошибка при установке защищенного пакета

3.1.0-pl (10.12.2021)

  • Прикрепление файлов к сообщениям (взято из версии 2)
  • Поддержка MODX 3 beta 2
  • Поддержка pdoTools 3

3.0.1-pl (22.05.2020)

  • Адаптация компонента для MODx 3.x.x

Последние обсуждения в сообществе MODX.pro