Описание

06 мая 2015, 04:25

Назначение

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

Название easyComm произошло от Easy Communication, или Easy Comments, кому как больше нравится.

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

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

Зависимости

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

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

Принцип работы

При помощи сниппета [[!ecForm]] отображается форма добавления нового сообщения.

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

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

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

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

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

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

Компонент оперирует двумя основными объектами: Сообщение (ecMessage), Цепочка (ecThread).

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

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

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

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

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

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


Предыдущий документ
Плагины и кастомизация