Skip to content
easyComm
easyComm
Создание модулей и разделов отзывов, комментариев, вопросов и ответов
  1. Компоненты
  2. easyComm
  3. Сниппеты

Сниппеты easyComm

ecForm

Сниппет выводит форму добавления нового сообщения.

Сниппет можно вызывать кешированным, так как его назначение - только вывести html код формы и новую цепочку. При первом вызове сниппет создает в базе новую цепочку сообщений (объект ecThread), привязанную к текущему ресурсу. При любом вызове сниппета (а не только при первом) в поле properties объекта ecThread записываются в формате json все параметры сниппета, чтобы в дальнейшем можно было их использовать.

Параметры сниппета ecForm

ПараметрПо-умолчаниюОписание
threadresource-[[*id]]Имя цепочки сообщений. Должно быть уникальным.
formIdкак threadИспользуется на фронтенд для идентификации формы при наличии нескольких форм на одной странице.
allowedFieldsuser_name, user_email, user_contacts, subject, rating, textСписок разрешенных для заполнения полей в форме.
requiredFieldsuser_name, textСписок обязательных полей.
antispamFieldaddressИмя поля, используемого как антиспам. Это поле должно быть скрыто от пользователя через css, и он его не заполнит, в то время, как спам-роботы будут его заполнять.
autoPublish0Автопубликация сообщений. Возможны варианты "пустое значение" - автопубликация отключена, "OnlyLogged" - автопубликация, если пользователь авторизован в текущем контексте, "All" - автопубликация сообщений от всех пользователей.
agreementCheckbox1Показывать галочку "Я даю свое согласие на обработку персональных данных".
tplFormtpl.ecFormЧанк с формой
tplFormReCaptchatpl.ecForm.ReCaptchaЧанк с ReCaptcha
tplSuccesstpl.ecForm.SuccessЧанк с сообщением об успешной отправке сообщения. В чанке доступны все поля только что созданного объекта ecMessage.
starsThemedefaultУкажите тему оформления для звездочек, доступны default, stars2, stars3, hearts. Можно создать свою в файле ec.css и указать её здесь.
mailManagerE-mail администратора для уведомлений о новых сообщениях, перекрывает настройку ec_mail_manager. Используя этот параметр вы можете указать разные адреса для разных вызовов сниппета ecForm
newEmailSubjUserТема email письма пользователю о том, что он оставил сообщение, перекрывает настройку ec_mail_new_subject_user
tplNewEmailUsertpl.ecForm.New.Email.UserЧанк с шаблоном email письма пользователя о том, что он оставил сообщение. Если параметр пуст - письмо отправлено не будет.
newEmailSubjManagerТема email письма менеджеру о новом сообщении на сайте, перекрывает настройку ec_mail_new_subject_manager
tplNewEmailManagertpl.ecForm.New.Email.ManagerЧанк с шаблоном email письма менеджеру о новом сообщении на сайте. Если параметр пуст - письмо отправлено не будет.
updateEmailSubjUserТема email письма пользователю о публикации сообщения или ответе на него, перекрывает настройку ec_mail_update_subject_user
tplUpdateEmailUsertpl.ecForm.Update.Email.UserЧанк с шаблоном email письма пользователю о публикации сообщения или ответе на него. Если параметр пуст - письмо отправлено не будет.

Прикрепление файлов

Начиная с версии 1.11.0-pl можно разрешить пользователям прикреплять файлы к их Сообщениям.

Не стоит рассматривать этот механизм как какое-то полноценное файлохранилище, это именно дополнительная возможность компонента. Например, вы можете реализовать прикрепление фотографий к отзывам на товары.

Следующие параметры сниппета ecForm отвечают за работу с файлами:

ПараметрПо-умолчаниюОписание
files0Включить возможность загрузки файлов.
fileTypesjpg,jpeg,png,gif,webpТипы разрешенных файлов.
fileSize0Ограничение на размер каждого файла, байт. По-умолчанию не ограничивается (не рекомендуется!).
filesCount0Ограничение на количество файлов. По-умолчанию не ограничивается (не рекомендуется!).

Зависимости

Внимание

До версии компонента 1.11.4-pl для работы формы отправки сообщения было необходимо наличие подключенного на странице jquery и плагина jquery.form. Если последний не подключен - вы увидите сообщение "Can`t find jQuery ajaxForm plugin!".

ecMessages

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

Параметры сниппета ecMessages

ПараметрПо-умолчаниюОписание
threadresource-[[*id]]Имя цепочки сообщений.
threadsСписок цепочек, из которых необходимо выводить сообщения, через запятую (например "resource-1,resource-2"). Укажите *, что бы вывести сообщения из всех цепочек. Параметр имеет приоритет над параметром thread.
votingEnable0Включить голосование за сообщения. По-умолчанию отключено.
votingAllowGuest0Разрешить голосовать гостям. По-умолчанию голосовать могут только авторизованные пользователи.
votingConsiderIP0Проверять IP для гостей. Стандартно проверка (голосовал или нет пользователь за сообщение) для гостей идет через php сессию. Если выявляются факторы накрутки голосов, вы можете включить проверку по IP адресу. Один голос за одно сообщение с одного IP.
messagesId конкретных Сообщений для вывода.
subjectОтфильтровать сообщения по Теме (поле subject)
tpltpl.ecMessages.RowЧанк для вывода одного сообщения. В чанке доступны поля сообщения, цепочки (с префиксом thread_). Используя параметр resourceFields, можно включить в выборку и поля ресурса.
tplWrapperЧанк обертка. Используйте в нем плейсхолдер [[+output]]. Кроме того, если используется вывод сообщений только из одной цепочки, то будут доступны все поля thread как плейсхолдеры, а также рейтинг цепочки в отформатированном виде [[+rating_wilson_percent]] и [[+rating_simple_percent]]
tplEmptyЧанк для отображения, если нечего выводить.
starsThemedefaultУкажите тему оформления для звездочек, доступны default, stars2, stars3, hearts. Можно создать свою в файле ec.css и указать её здесь.
sortbydateПоле для сортировки
sortdirDESCНаправление сортировки
limit10Ограничение выборки
showUnpublished0Показывать неопубликованные сообщения
showDeleted0Показывать удаленные сообщения
resourceFieldsДобавить в выборку поля ресурса (с префиксом resource_), например: id,pagetitle,longtitle,introtext. Поля id и pagetitle добавляются всегда, но лучше их явно указать, т.к. это поведение может быть изменено в будущем.
outputSeparator\nРазделитель вывода строк
toPlaceholderЕсли указан этот параметр, то результат будет сохранен в плейсхолдер, вместо прямого вывода на странице.
toSeparatePlaceholdersЗадать плейсхолдер для каждого сообщения
showLog0Показывать лог

ecMessagesCount

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

Параметры сниппета ecMessagesCount

ПараметрПо-умолчаниюОписание
threadresource-[[*id]]Имя цепочки сообщений.
threadsСписок цепочек, из которых необходимо выводить сообщения, через запятую (например "resource-1,resource-2"). Укажите *, что бы вывести сообщения из всех цепочек. Параметр имеет приоритет над параметром thread.
subjectОтфильтровать сообщения по Теме (поле subject)
showUnpublished0Показывать неопубликованные сообщения
showDeleted0Показывать удаленные сообщения

ecThreadRating

Сниппет выводит рейтинг указанной цепочки. Обязательно вызывать некэшированным, т.к. при публикации сообщений из админки кеш сайта не очищается. С версии 1.5.1-pl в стандартном чанке добавлена микроразметка http://schema.org/AggregateRating

Параметры сниппета

ПараметрПо-умолчаниюОписание
threadresource-[[*id]]Имя цепочки сообщений.
tpltpl.ecThreadRatingЧанк для вывода рейтинга. Доступны плейсхолдеры rating_simple, rating_simple_percent, rating_wilson, rating_wilson_percent, а также все поля объекта ecThread.
algorithmwilsonУкажите алгоритм, который будет выбран для рейтинга (wilson или simple).
starsThemedefaultУкажите тему оформления для звездочек, доступны default, stars2, stars3, hearts. Можно создать свою в файле ec.css и указать её здесь.
starWidthAndGup16,4Для точного отображения рейтинга в виде закрашенных звездочек компонент должен знать их ширину и расстояние между ними. Для темы default это 16,4, для остальных 20,4.
toPlaceholderЕсли заполнить параметр, то результат будет установлен в плейсхолдер с таким именем.

Расширенный рейтинг

Начиная с версии easyComm 1.7.0 сниппет ecThreadRating поддерживает вывод расширенной информации о голосах пользователей.

Расширенное отображение рейтинга

Для этого нужно указать в параметре tpl новый чанк tpl.ecThreadDetailedRating.