Описание

21 августа 2017, 18:14

Назначение

Компонент предназначен для создания на сайтах таких модулей и разделов, как:

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

Схема работы:

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

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

Возможности

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

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

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

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

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

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

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

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

Зависимости

Для корректной работы необходимо:

  • на фронтенде: подключенные библиотеки jquery и плагин jquery.form (не поставляется с компонентом, необходимо подключать вручную!);
  • установленные pdoTools;
  • в чанке вывода сообщения дополнительно используется сниппет dateAgo для формирования «красивой» даты.

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

Форма добавления сообщения При помощи сниппета [[!ecForm]] отображаем форму добавления нового сообщения на странице сайта, например в карточке товара.

Написать сообщение

Когда пользователь заполняет ее, сообщение заносится в базу данных со статусом "не опубликовано" (кстати, есть возможность автопубликации сообщений, см. параметры сниппета). Менеджеру сайта приходит уведомление на электронную почту. Если пользователь оставил свою электронную почту, ему так же придет уведомление о том, что его сообщение получено и ожидает модерации.

Менеджер в специальном разделе панели управления может управлять сообщениями, например опубликовать их, оставить свой ответ, удалить. При редактировании сообщения менеджер имеет возможность установить галочку "уведомить об ответе", в этом случае пользователь получит уведомление на почту о том, что его сообщение на сайте опубликовано. Возможны различные варианты действий, например: опубликовал без ответа; опубликовал и оставил ответ; не публиковал на сайте, но ответил.

Вывод сообщений При помощи сниппета [[!ecMessages]] выводятся опубликованные сообщения на странице сайта.

Список сообщений

Объекты Сообщение и Цепочка

Компонент оперирует двумя основными объектами:

  • Сообщение (объект ecMessage);
  • Цепочка сообщений (объект ecThread).

Благодаря тому, что все сообщения привязаны к цепочке, а не к ресурсу, можно на одной странице использовать несколько вызовов easyComm и создать, к примеру, 2 вкладки: "Отзывы о товаре" и "Вопросы о товаре".

Поля объекта ecThread:

  • resource - id ресурса, к которому относится цепочка
  • name - уникальное имя цепочки, например "resource-123"
  • title - заголовок цепочки (для удобства), например "Отзывы о товаре 123"
  • message_last - id последнего опубликованного и неудаленного сообщения
  • message_last_date - дата последнего опубликованного и неудаленного сообщения
  • count - количество опубликованных и неудаленных сообщений в цепочке
  • properties - параметры, с которыми вызывался сниппет ecForm, создавший эту цепочку
  • extended - поле не используется в текущей версии, можете использовать по своему усмотрению
  • rating_simple - Средняя оценка, на основании всех сообщений в цепочке
  • rating_wilson - Оценка, рассчитанная с использованием алгоритма Вильсона

Поля объекта ecMessage:

  • thread - id цепочки
  • subject - тема сообщения, например вы можете создать выпадающий список со значениями "Служба поддержки", "Отдел продаж"
  • date - дата и время
  • user_name - имя пользователя, который оставил сообщение
  • user_email - электронная почта
  • user_contacts - контактная информация
  • text - текст сообщения
  • reply_author - автор ответа
  • reply_text - текст ответа
  • notify - уведомить об ответе пользователя
  • notify_date - дата последнего уведомления пользователя (что бы не уведомлять 2 раза)
  • ip - IP адрес
  • rating - оценка
  • extended - не используется в текущей версии

Кроме того, у сообщения есть такие поля: createdon, createdby, editedon, editedby, published, publishedon, publishedby, deleted, deletedon, deletedby, назначение их ясно из названия поля.


Предыдущий документ
Типовые решения и частые вопросы