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

Типовые решения

В этом разделе собраны решения, которые наиболее часто встречались в практике использования компонента.

Прикрепить картинку (файл) к сообщению

Достаточно трудоемкая задача, требующая участия понимающего программиста. Есть отдельная публикация на эту тему, где описаны нюансы: https://modx.pro/components/5707-easycomm-additional-picture-field/

Подружить easyComm и msProducts / pdoResources / mFilter2

Информация вынесена в отдельную статью "Рейтинг в сниппетах pdoResources, msProducts" в данной документации.

Присоединить таблицу пользователей при работе ecMessages

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

Пример кода:

modx
[[!ecMessages?
  &leftJoin=`{
    "modUserProfile": {
      "class": "modUserProfile",
      "alias": "UserProfile",
      "on": "ecMessage.createdby=UserProfile.internalKey"
    }
  }`
  &select=`{"UserProfile":"*"}`
]]
fenom
{$_modx->runSnippet('!ecMessages', [
  'leftJoin' => [
    'modUserProfile' => [
      'class'=>'modUserProfile',
      'alias'=>'UserProfile',
      'on'=>'ecMessage.createdby=UserProfile.internalKey',
    ],
  ],
  'select' => ['UserProfile' => '*'],
])}

Где почитать про голосование за Сообщения?

См. публикацию-анонс: https://modx.pro/components/19235

Где почитать про прикрепление файлов к Сообщениям?

См. публикацию-анонс: https://modx.pro/components/21775

Частые проблемы

Возможные причины:

Вижу сообщение Can`t find jQuery ajaxForm plugin!

Необходимо самостоятельно подключить плагин jquery.form. В пакет easyComm он не входит, но требуется для отправки форм через ajax. Подключить скрипт нужно после подключения библиотеки jQuery, но до подключения скриптов от easyComm.

Форма добавления сообщения не отправляется или при отправке страница перезагружается

Возможные причины:

  • вы поместили вызов сниппета ecForm внутрь html тега form (что часто бывает при работе с товарами miniShop2). Сниппет ecForm генерирует свою html форму, а вложенные формы в html запрещены, поэтому ничего не работает.
  • иногда бывают трудности из-за старой версии php, попробуйте изменить версию php на более свежую.
  • проверьте, что у вас на странице jQuery подключается только 1 раз, частая причина в множественных подключениях этой библиотеки.
  • проверьте, что вы подключаете скрипты компонента ПОСЛЕ подключения jQuery.

Некоторые поля не сохраняются (при вызове ecForm)

Обратите внимание на параметры "allowedFields" и "requiredFields" сниппета ecForm, вероятно, вы забыли указать там нужные поля.

Потерялись css стили / Не видно рейтинг на сайте

Обратите внимание, что css файл автоматически подключается только при вызове сниппета ecForm на странице.

Если у вас вызывается только сниппет ecMessages или ecThreadRating (например, на главной странице, а не на карточке товара), то css файл необходимо подключить вручную.