easyComm - комментарии, отзывы, вопросы на сайте

Установить easyComm >>

Компонент предназначен для создания на сайтах таких модулей/разделов, как:
  • Отзывы,
  • Комментарии,
  • Вопрос-ответ.
Название easyComm произошло от Easy Communication, или Easy Comments, кому как больше нравится.

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

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

Введение



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

В настоящее время существуют несколько решений для MODx, решающих вопрос комментирования (Tickets, старый Quip, ModxTalks), однако они заточены под сайты социальной направленности, блоги, обладают явно избыточным функционалом и несколько сложной настройкой в том случае, если вас не устраивает их внешний вид или работа по-умолчанию.

Поэтому долгое время я использовал свое решение на базе MIGx, я даже писал про него modx.pro/help/3967/#comment-29953

Сделав десяток сайтов, пришел к пониманию того, что нужно:
— сообщения должны оставлять неавторизованные пользователи
— сообщения публикуются после модерации администратором
— минимально необходимый набор полей: имя, электронная почта, контакты (отдельно), текст сообщения, тема сообщения
— возможность администратора ответить на это сообщение, указав при этом кто отвечает (например свое ФИО)
— уведомление администратора о новом сообщении с сайта
— уведомление пользователя о публикации или получении ответа на его сообщение по почте
— достаточно простой в использовании компонент
— возможность внедрить на одну страницу несколько блоков с сообщениями (например Отзывы и Вопросы на разных вкладках, но в рамках одной страницы)

Используя эти требования в качестве своеобразного ТЗ я и написал этот компонент.

Видео работы, 3.5 минуты


При просмотре поставьте высокое качество.


Описание


Для понимания общей сути нужна написать, что компонент оперирует 2мя объектами: Сообщение (ecMessage) и Цепочка (ecThread). Каждое сообщение относится к определенной цепочке, а цепочка в свою очерез к определенному ресурсу. Это позволяет создать несколько цепочек для одного ресурса.

Поля объекта ecThread:
  • resource — id ресурса, к которому относится цепочка
  • name — уникальное имя цепочки
  • title — заголовок цепочки (для удобства)
  • message_last — id последнего опубликованного и неудаленного сообщения
  • message_last_date — дата последнего опубликованного и неудаленного сообщения
  • count — количество опубликованных и неудаленных сообщений в цепочке
  • properties — параметры, с которыми вызывался сниппет ecForm, создавший эту цепочку
  • extended — не используется в текущей версии
Поля объекта ecMessage:
  • thread — id цепочки
  • subject — тема сообщения, например вы можете создать выпадающий список со значениями «служба поддержки», «отдел продаж»
  • date — дата и время сообщения
  • user_name — имя пользователя, который оставил сообщение
  • user_email — электронная почта
  • user_contacts — контактная информация
  • text — текст сообщения
  • reply_author — автор ответа
  • reply_text — текст ответа
  • notify — уведомить об ответе пользователя
  • notify_date — дата последнего уведомления пользователя (что бы не уведомлять 2 раза)
  • extended — не используется в текущей версии

Фронтенд

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



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

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

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



Административный интерфейс

После установки компонента в меню Приложения появится новый пункт меню «Сообщения».

Раздел имеет 2 вкладки: Сообщения и Цепочки.

Сообщения
В этом разделе собраны все сообщения на сайте, последние добавленные будут сверху.



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

Для создания нового сообщения необходимо нажать на кнопку «Создать», для редактирования существующего — кликнуть правой кнопкой мыши по сообщению и выбрать в контекстном меню пункт «Изменить». Откроется окно со всеми доступными для заполнения полями. Перед этим необходимо, что бы у вас была создана цепочка, в которой данное сообщение будет находится.

У окна редактирования сообщения 3 вкладки:
— Сообщение. Основная информация о сообщении.
— Ответ. Поля для ответа на сообщение. Заполняется менеджером сайта.
— Настройки. Служебные настройки.



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



Цепочки
В этом разделе собраны все цепочки сообщений.



Каждая цепочка привязана к определенному ресурсу и имеет свое уникальное имя, по умолчанию «resource-[[*id]]». Для одного ресурса может существовать несколько цепочек, например «reviews-[[*id]]» (Отзывы) и «questions-[[*id]]» (Вопросы).

Кроме того, для цепочки можно задать Заголовок, например «Отзывы о компании» для удобства работы.

В контекстом меню цепочек доступен пункт «Управление сообщениями этой цепочки», которые открывает отдельную вкладку с сообщениями только этой цепочки.



Цепочки создаются автоматически при отображении формы с добавлением сообщения на сайте.

Управление сообщениями через вкладку «Сообщения» при редактировании ресурсов.
Если в настройках включено отображение вкладки Сообщения, то при редактировании ресурса появится эта вкладка. Ее функционал идентичен тому, что есть в меню «Приложения» с той разницей, что доступны только те сообщения и цепочки, которые относятся к текущему ресурсу.



Ссылки


Документация: docs.modx.pro/komponentyi/easycomm
Установочный пакет: modstore.pro/packages/utilities/easycomm

Примечание


easyComm для своей работы использует pdoTools, не забудьте его установить.

В общем если что-то сбивчиво или непонятно написал — укажите мне на это, поправлю. Задавайте вопросы, постараюсь ответить!

Обновления


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

09.04.2015, версия 1.0.4-beta2, Оценки и Рейтинг
Заметка: modx.pro/components/5299

13.04.2015, версия 1.1.0-beta, Плагины для добавления полей
Заметка: modx.pro/components/5299
Документация: docs.modx.pro/komponentyi/easycomm/plaginyi-i-kastomizacziya

05.06.2015, версия 1.2.0-pl, Дополнительное поле Изображение
Заметка: modx.pro/components/5707

31.05.2017, версия 1.3.2-pl, поддержка Google ReCaptcha v2

Пожалуйста, не путайте с компонентом ReCaptchaV2, который лежит в репозитории MODX. easyComm поддерживает рекапчу от гугл не зависимо от того компонента и его установка не требуется!

Для того, что бы включить капчу, нужно:
1. Зарегистрировать сайт, получить site key и secret key, вписать их в настройки MODX (раздел easyComm, настройки ec_recaptcha2_site_key, ec_recaptcha2_secret_key).
2. Включить капчу, настройка ec_captcha_enable

Если вам не нужна капча — просто не включайте ее, все будет работать, как раньше (простая проверка на спам осуществляется через скрытое поле).

Да, при обновлении — нужно перезаписать чанк tpl.ecForm, т.к. он изменился (или добавить в него плейсхолдер [[+recaptcha]] перед блоком с кнопкой).

Если у вас уже используется на сайте компонент ReCaptchaV2 (в других формах, реализованных через Formit), то вам придется самостоятельно подумать, как подключать скрипт от google recaptcha только 1 раз и как совместить работу компонентов. Это уже все индивидуально.

24.05.2018, версия 1.5.0-pl, переезд на Fenom.
В этой версии синтаксис чанков был изменен на Fenom, как более понятный.
Кроме того, добавилась вкладка с историей изменения Сообщения (создано, обновлено, удалено).
И да, внедрен механизм защиты от «левых установок», не через ModStore. Последняя версия без этого механизма — 1.4.3. Если вас устраивает отсутствие обновлений и не нужна поддержка — пользуйтесь)

19.12.2018, версия 1.6.0-pl, Множественные поля рейтинга
Заметка: modx.pro/components/17177
Документация: docs.modx.pro/komponentyi/easycomm/neskolko-polej-s-rejtingom

26.12.2018, версия 1.7.0-pl, Расширенный вывод рейтинга
Заметка: modx.pro/components/17212

16.01.2019, версия 1.8.0-pl, Шаблоны ответов
Заметка: modx.pro/components/17334

04.02.2019, версия 1.8.6-pl, Новые возможности
— прямая ссылка на сообщение в письме менеджеру (через GET параметр ecmessage)
— Wysiwyg редактор в поле Ответ в панели управления (отключаемый)
— Возможность настраивать фильтры в списке сообщений в панели управления (настройка ec_message_grid_filters)

15.11.2019, версия 1.10.0-pl, Голосование за сообщения
Заметка: modx.pro/components/19235

22.04.2021, версия 1.11.0-pl, Возможность прикреплять файлы к сообщениям

04.01.2023, версия 1.14.0-pl, Темы оформления звездочек
Заметка: modx.pro/components/24465
Наумов Алексей
03 апреля 2015, 09:40
modx.pro
13
45 696
+14

Комментарии: 536

Илья Уткин
03 апреля 2015, 13:26
+3
Работа, конечно немаленькая проведена. Получилось очень хорошо. Я восхищен. Считаю, что цена адекватная.
    Наумов Алексей
    03 апреля 2015, 13:46
    +2
    Спасибо! Постараюсь до вечера еще видео о работе снять, что бы 100% понятны стали возможности и назначение компонента.
      Илья Уткин
      03 апреля 2015, 13:47
      0
      Лучше подключайся к MODX Russia Online — там все покажешь, а запись твоего доклада разместим на YouTube
        Наумов Алексей
        03 апреля 2015, 13:50
        0
        К сожалению ни подготовится не успею, ни по участвовать не смогу, только потом запись гляну…
          wgame
          03 апреля 2015, 14:31
          0
          Илья что-то не понял как посмотреть в онлайне можно будет
    Наумов Алексей
    03 апреля 2015, 15:00
    0
    Добавил небольшое видео в статью о работе компонента.
      Денис Богдановский
      03 апреля 2015, 16:46
      +3
      Алексей, отличная работа! Ценник хороший )
        Мордынский Николай
        03 апреля 2015, 17:37
        0
        С учетом наличия Tickets — велосипед или я ошибаюсь?
          Wassi Wassinen
          03 апреля 2015, 17:48
          0
          Ветки есть (несколько веток комментариев в одном ресурсе). В Тикетах, как я понимаю, этого нет.
            Наумов Алексей
            03 апреля 2015, 17:58
            0
            В тикетс с тояки срения архитектуры это есть, но фронтенд js скрипт это не поддерживает
            Наумов Алексей
            03 апреля 2015, 18:02
            0
            Я написал в статье про тикетс… Это несколько не то. Авторизация, древоводные комментарии, весьма сложная настройка (если нужно поменять стандартный функционал), неудобство работы из админки… Все это скорее мешает, чем помогает в тех задачах, которые призван решать мой компонент. Тикетс отлично подходит для блогов, а мой компонент наоборот)
              Wassi Wassinen
              03 апреля 2015, 18:08
              0
              В тикетс все то же самое, только нет реализации из коробки нескольких веток комментариев в одном ресурсе. Если вы зайдете в раздел «Приложения» -> «Тикеты» в админке сайта, то увидите то же самое, что и в вашем дополнении. Удобства столько же. Отсюда вопрос к ценнику. :) Вот если бы можно было добавлять свои поля… :)
                Илья Уткин
                03 апреля 2015, 18:42
                +2
                Тут основное — это бэкенд.

                Менеджер получает письмо «На сайте новый вопрос», заходит в админку, видит там «Эй, вы меня обманули!» и может ответить, не публикуя вопрос на сайте — прямо через админку. А тому, кто вопрос задал будет отправлено письмо.
                  Wassi Wassinen
                  03 апреля 2015, 18:50
                  0
                  Мысль понял.
                    Наумов Алексей
                    03 апреля 2015, 19:04
                    0
                    Все верно, Илья. В этом ключе и собирался продолжать. Пока только первая версия, надеюсь дальше функционал будет улучшаться.
                    Сергей Шлоков
                    03 апреля 2015, 18:43
                    +3
                    Если компонент предназначен для коммерческой работы, то ценник должен быть. Его все равно оплачивает закачик. Если для социальной сферы (как тикетс), то бесплатно. Такое мое скромное мнение.
                    Ведь покупать же никто не заставляет. :)
                      Wassi Wassinen
                      03 апреля 2015, 18:52
                      0
                      Было бы неплохо дать ссылку на гитхаб.

                      Про оплачивающего заказчика — согласен. :)
                        Сергей Шлоков
                        03 апреля 2015, 18:58
                        0
                        Гитхаб на платный компонент? Ну не все же такие щедрые как Василий :)
                          Наумов Алексей
                          03 апреля 2015, 19:03
                          0
                          Да исходники есть, я просто ссылку не публиковал)) но кто захочет, найти сможет. =)
                            Wassi Wassinen
                            03 апреля 2015, 19:04
                            +1
                            Дело в том, что отсутствие ссылки на гитхаб только немного усложняет неизбежное. :) Василий поступает не только щедро, но и мудро — те кто хотят купить — купят. И возможно предложат полезные изменения на гитхабе.

                            Посмотрите статистику modstore.pro :) mSearch2, Office, ms2Gallery — говорят о том, что качественные дополнения будут покупать. Потому что, цитирую :)
                            Его все равно оплачивает закачик.
                              Сергей Шлоков
                              03 апреля 2015, 19:08
                              0
                              Могу ошибаться, но думаю, что в статистике по mSearch2, Office, ms2Gallery учтены загрузки на тестовые сайты. Поэтому реальное количество покупок на самом деле гораздо меньше.
                              Посмотрите статистику modstore.pro :)
                              Лучше на ты. Так я чувствую себя моложе. :)
                                Wassi Wassinen
                                03 апреля 2015, 19:16
                                0
                                Лучше на ты. Так я чувствую себя моложе. :)
                                Аналогично :)
                                  Василий Наумкин
                                  03 апреля 2015, 19:44
                                  +1
                                  Нет, тестовые сайты не считаются, только реальные.

                                  Но показываются именно загрузки, а не покупки. То есть, чем больше новых версий дополнения — тем больше закачек.
                    Андрей
                    Андрей
                    03 апреля 2015, 18:57
                    +3
                    — сообщения должны оставлять неавторизованные пользователи
                    — сообщения публикуются после модерации администратором
                    — минимально необходимый набор полей: имя, электронная почта, контакты (отдельно), текст сообщения, тема сообщения
                    — возможность администратора ответить на это сообщение, указав при этом кто отвечает (например свое ФИО)
                    — уведомление администратора о новом сообщении с сайта
                    — уведомление пользователя о публикации или получении ответа на его сообщение по почте
                    — достаточно простой в использовании компонент
                    — возможность внедрить на одну страницу несколько блоков с сообщениями (например Отзывы и Вопросы на разных вкладках, но в рамках одной страницы)
                    Использую для всего этого Tickets — всё супер)



                    P.S. но ваш компонент лишним, безусловно, не будет.
                      Wassi Wassinen
                      03 апреля 2015, 18:59
                      +1
                      Андрей, скажите, как вы реализовали это изящное решение с оценкой?
                        Андрей
                        Андрей
                        03 апреля 2015, 19:54
                        1
                        +4
                        Весьма благодарен, что находите это изящным)

                        У меня на сайте Tickets используется для оценки товаров и оставления отзыва о том или ином товаре. Соответственно, голосовалка за отзывы мне не нужна (как здесь со стрелочками), а вот само поле `rating` в базе очень даже подходит для оценки товара, причём по любой шкале)

                        Поэтому я убрал возможность голосовать за отзывы, а на событие OnCommentSave повесил плагин, сохраняющий оценку пользователя в поле `rating`. Соответственно, в форму отзыва добавил радиокнопки для возможности выставить оценку. С помощью JS высвечивается та оценка, которую выбирает в данный момент пользователь.

                        Звёздочки картинками выводятся сниппетом (выбирает этот самый `rating` из базы) и чанком на основании выставленной оценки (c плейсхолдером [[+rating]]). В чанке примерно следующее:
                        <img src="/assets/theme/image/stars-[[+rating]].png" alt="Оценка [[+rating]]">
                        Там ещё прикручена общая оценка для товара на основании всех оценок юзеров.
                        В общем, может это и не совсем прямое использование компонента, и в некоторых местах костыльно получилось, но всё же работает быстро и свои функции выполняет, и меня в целом устраивает)
                          Wassi Wassinen
                          03 апреля 2015, 20:33
                          +1
                          Вы могли бы поделиться реализацией? Очень полезный функционал, тем более что к минишопу отзывы-комментарии идут по по умолчанию.
                            Андрей
                            Андрей
                            03 апреля 2015, 22:06
                            +3
                            Да я с радостью выложу, когда приведу код в божеский вид, а то в «коленочном» виде стыдно в сообщество выкладывать))) А руки всё не доходят.
                            Выше я озвучил общую концепцию функционала.
                              Wassi Wassinen
                              03 апреля 2015, 22:07
                              +1
                              Спасибо за ответ. Будет любопытно посмотреть.
                              Mihan
                              03 апреля 2015, 23:49
                              +1
                              тоже очень нужен такой функционал. Буду благодарен, если Андрей выложит.
                        Наумов Алексей
                        08 апреля 2015, 10:58
                        +1
                        Пакет доступен в репозитории: modstore.pro/packages/utilities/easycomm
                          Хулио Надда
                          09 апреля 2015, 01:08
                          0
                          Подскажите есть ли возможность добавлять свои поля TV?
                            Наумов Алексей
                            09 апреля 2015, 08:50
                            0
                            Ну во первых это не ресурсы MODx, поэтому о каких TV полях речь вообще?

                            А если имеются ввиду просто дополнительные поля, например, как в minishop2 — то нет. Но возможно, что пока нет.

                            Каких полей вам не хватает?
                              Хулио Надда
                              09 апреля 2015, 08:55
                              0
                              Ну собственно конечн дополнительные. Каких именно я сказать не могу. Сегодня одних завтра другой сайт и понадобятся другие. В Tickets например можно к отзыву добавлять свои TV поля и писать в них. Поэтому и спросил для меня это важно. Дополнение хорошее, судя по описанию и скриншотам удобное, но пока увы я не смогу воспользоваться. Так что есть куда развиваться =)
                                Наумов Алексей
                                09 апреля 2015, 09:02
                                0
                                Дело в том, что я пока вижу следующие сценарии использования дополнения: отзывы, вопрос-ответ, комментарии. Для этих сценариев стандартных полей хватает. Если вы назовете другие сценарии использования — я подумаю над ними, но пока даже сам не представляю.
                                  Василий Наумкин
                                  09 апреля 2015, 09:15
                                  1
                                  0
                                  Он говорит о том, что в Tickets при создании комментария все нестандартные поля формы добавляются в properties и их потом можно как-то использовать.

                                  Исходник.
                                    Наумов Алексей
                                    09 апреля 2015, 09:16
                                    0
                                    А, ок =)

                                    Спасибо! Ну, почему бы и нет конечно )
                                      Хулио Надда
                                      09 апреля 2015, 12:55
                                      0
                                      По моему не так вы меня поняли. Я имею ввиду возможность писать в TV дополнительные свойства для моего тикета.

                                      Ну например мне нужно к Записи прикрутить доп поле с датой я добавляю в чанк с формой дополнительный инпут и передаю в TV своего тикета, дальше уже вывожу список с дополнительными полями.
                                      Более конкретный пример тут. Есть два дополнительных TV: date (не заполнено) и resouecelist

                                      Василий, если не сложно не могли бы вы меня направить в правильное русло. При создании тикета хочу отправлять уведомление менеджеру сайта. Я так понимаю проще через плагин?
                              Наумов Алексей
                              05 мая 2015, 16:49
                              +1
                              В версии 1.1.1-pl добавил возможность автопубликации сообщений, такие просьбы были.
                                Dementor218
                                01 февраля 2020, 14:02
                                0
                                В версии 1.1.2-pl автопубликацию сообщений включить можно ли? Если да, то как?
                                  Dementor218
                                  02 февраля 2020, 16:37
                                  0
                                  Разобрался.))
                                Александр
                                10 мая 2015, 01:00
                                0
                                Пагинацию сделайте пожалуйста в новых версиях.
                                  Василий Наумкин
                                  10 мая 2015, 07:21
                                  1
                                  +1
                                  А что, pdoPage не работает?
                                    Наумов Алексей
                                    10 мая 2015, 16:35
                                    1
                                    0
                                    Ну да, должно по идее работать с pdoPage
                                      Сергей
                                      30 июля 2015, 14:49
                                      0
                                      Да, работает
                                      [[!pdoPage?
                                          &element=`ecMessages`
                                          &limit=`2`
                                          &tpl=`tpl.ecMessages.Row`
                                          &thread=`reviews-[[*id]]` 
                                      ]]
                                    Александр Янк
                                    26 мая 2015, 11:50
                                    0
                                    Компонент классный, не пожалел, что купил. Вопрос, как быть с конфликтами других js скриптами?


                                    $(document).ready(function(){
                                        easyComm.initialize();
                                    });
                                    Тестовый сайт
                                    artlenk.ru/otzyivyi-klientov/
                                      Наумов Алексей
                                      26 мая 2015, 12:30
                                      +1
                                      Надо заменить $(document) на jQuery(document), как в остальных подключенных скриптах… подробности stackoverflow.com/questions/7975093/typeerror-undefined-is-not-a-function-evaluating-document
                                        Александр Янк
                                        26 мая 2015, 13:22
                                        0
                                        Алексей, искренне благодарю. Все заработало как надо. А я уже подумал отказаться от других скриптов.

                                        Для тех кто не понял, нужно в файле ec.default.js (assets/components/easycomm/js/web/) заменить все знаки:

                                        $
                                        на
                                        jQuery
                                          Наумов Алексей
                                          26 мая 2015, 15:49
                                          +1
                                          Только лучше сделайте копию файла, когда делаете изменения и укажите путь к нему в системных настройках, а то при обновлении ваши правки перезатрутся. Хотя конкретно эту проблему постараюсь закрыть в следующей версии.
                                    Katya Larionova
                                    01 июня 2015, 19:25
                                    0
                                    У меня через easycomm реализован вопрос-ответ. Как сделать поиск по вопросам?
                                      Наумов Алексей
                                      02 июня 2015, 08:54
                                      1
                                      0
                                      Вы можете в параметре where сниппета ecMessages указать поисковый запрос, например:
                                      &where=`{"`ecMessage`.`text`:LIKE": "%слово%"}`
                                      А для подстановки «слово» из $_GET использовать простой сниппет
                                      return empty($_GET['query']) ? '' : $_GET['query'];
                                      не проверял, но как то так…
                                      Дмитрий
                                      02 июня 2015, 13:36
                                      0
                                      Алексей, спасибо за модуль. То что надо.
                                      Правда купить пока не получилось — при оплате по ВебМани ругается. Но решу сегодня.

                                      Вопрос у меня следующий:
                                      — Хочу к «вопросам» прикрепить возможность загрузки скриншота (фотки). Планирую использовать Uploadify. Такое возможно? или может что-то посоветуете?
                                        Наумов Алексей
                                        02 июня 2015, 14:37
                                        0
                                        Даже не знаю, чего посоветовать…
                                        Я не пробовал прикреплять файлы, наверное пока что никаких в этом направлении идей у меня нет… я даже не знаю что посоветовать, наверное вам придется самому подумать. Если будут нужны какие-то изменения в компоненте для реализации — я готов их внести, но пока не знаю что =)
                                          Дмитрий
                                          02 июня 2015, 17:27
                                          0
                                          Мое ощущение (я не очень «программист»), что достаточно «подружиться» с модулем загрузки, иметь возможность в компоненте вашей опцию включить типа «useUploadify», чтобы появилось в форме поле «Загрузить файл» и кнопочка от Uploadify. Не знаю как это точнее описать. На текущий момент у меня очень остро стоит задача такая и я даже думал, что временным решением будет 2 формы выводить, одну вашу, а перед ней (или между input'ами форму от загрузчика файла (если я правильно понял, он может работать независимо).
                                        Денис
                                        10 июня 2015, 23:42
                                        0
                                        Подскажите пожалуйста, как отключить вывод времени создания сообщения?
                                        Дата\время создания выводятся через [[+date]], а стандартные фильтры не срабатывают
                                          Наумов Алексей
                                          11 июня 2015, 08:43
                                          0
                                          Фильтры должны работать. Даже в стандартном чанке для вывода даты используется фильтр dateAgo.
                                            Денис
                                            11 июня 2015, 10:46
                                            0
                                            Ввожу вместо
                                            [[+date]]

                                            [[!dateAgo? &input=`[[*date]]` &dateFormat=`dateFormat`]]
                                            дата вообще не выводиться.
                                              Пётр Молчанов
                                              11 июня 2015, 10:55
                                              +1
                                              [[+date]]
                                              [[*date]]
                                              не видите разницу?
                                                Денис
                                                11 июня 2015, 11:17
                                                0
                                                [[!dateAgo? &input=`[[+date]]` &dateFormat=`dateFormat`]]
                                                Я первоначально так и делал. так тоже не работает.

                                                [[+date:dateAgo=`{"dateFormat":d F Y}`]]
                                                Вот так дата выводится, но фильтры не применяются
                                        Сергей
                                        29 июня 2015, 19:32
                                        0
                                        Можно ли в форме ответа включить визуальный редактор для создания ссылок и т.п?
                                          Наумов Алексей
                                          29 июня 2015, 20:42
                                          0
                                          Имеется ввиду поле «Ответ» в админке? Думаю, что это реально, поставлю в планы на будущее.
                                            Сергей
                                            01 июля 2015, 23:24
                                            0
                                            Да. Клиенты спрашивают. Думаю, популярная функция — сослаться на какую-то страницу. Держите в курсе.
                                              Сергей
                                              01 сентября 2015, 16:18
                                              0
                                              Здравствуйте. Как там визуальный редактор поживает?)
                                                Наумов Алексей
                                                01 сентября 2015, 17:02
                                                0
                                                Добрый день!

                                                Честно говоря, пока у меня не получилось это реализовать. Поиск не дал мне нужных знаний, что бы понять, как это правильно сделать в MODx. Те способы, которые я испробовал не работают до конца. Но задача стоит, так что надежды не теряем!)
                                                  Klike
                                                  04 августа 2016, 11:57
                                                  0
                                                  Алексей, скажите пожалуйста, получилось ли реализовать визуальный редактор?
                                                    Наумов Алексей
                                                    04 августа 2016, 15:43
                                                    0
                                                    Нет, я что-то и не брался за эту задачу. Насколько помню в прошлый раз у меня это не получалось, не все так просто было там.
                                            Антон Левиц
                                            Антон Левиц
                                            20 июля 2015, 16:42
                                            0
                                            А как вывести количество комментариев на странице?
                                            Сергей
                                            23 июля 2015, 23:29
                                            0
                                            Здравствуйте. По поводу плагинов.
                                            Как осуществить этот пункт?
                                            «5. Добавить записи в словари системы ec_message_field1 и ec_message_field2 (пространство имен easycomm).»
                                            Спасибо.
                                            И еще, есть ли возможность для отправки вопросов/отзывов зарегистрированными юзерами?
                                              Наумов Алексей
                                              24 июля 2015, 08:40
                                              0
                                              Находите в админке пункт меню «Управление словарями» и там создаете новую запись, указав пространство имен easycomm, язык ru.

                                              Отправлять вопросы зарегистрированные пользователи могут, да. В этом случае автоматически подставляется их имя и заполняется колонка createdby (посмотрите структуру таблиц компонента в phpmyadmin).
                                              Сергей
                                              23 июля 2015, 23:46
                                              0
                                              Еще один вопрос в догонку. Есть ли возможность создания рубрикатора? Интересует функционал www.lood.ru/index.php?rubr=consult&page=list&cur_page=9.
                                              Ну и выбор отвечающего из списка с ссылкой на профиль и изображением.
                                              Спасибо.
                                                Наумов Алексей
                                                24 июля 2015, 08:37
                                                0
                                                Рубрики — это ресурсы modx, тогда все должно получиться.

                                                Ну и выбор отвечающего из списка с ссылкой на профиль и изображением.
                                                не очень понял, про что вы.
                                                  Сергей
                                                  28 июля 2015, 10:41
                                                  0
                                                  Спасибо за ответы.
                                                  Чтобы в админке можно было выбрать отвечающего из пользователей сайта ( у каждого свой профиль, например с помощью userProfile).
                                                  И поддерживается ли древовидная структура вопросов-ответов?
                                                    Наумов Алексей
                                                    28 июля 2015, 10:52
                                                    0
                                                    Для ответа предусмотрено 2 поля: текст (reply_text) и имя (reply_author), иного функционала нет.

                                                    Древовидной структуры так же нет.
                                                      Сергей
                                                      28 июля 2015, 11:50
                                                      0
                                                      Понятно. А древовидная, я так понимаю может быть с помощью Tickets реализована?
                                                        Наумов Алексей
                                                        28 июля 2015, 18:46
                                                        0
                                                        Если посмотреть на сайт, где мы сейчас общаемся — да.
                                                        Сергей
                                                        28 июля 2015, 13:02
                                                        0
                                                        Еще пока стоит старая версия «вопросов», которая не компонент.
                                                        Там такое вот поведение странное, завис
                                                        mail.yandex.ru/message_part/Screenshot+%2827%29.png?_uid=89491354&hid=1.1.2&ids=2560000001153381924&name=Screenshot+%2827%29.png
                                                          Наумов Алексей
                                                          28 июля 2015, 18:46
                                                          0
                                                          По ссылке у меня белый экран
                                                            Сергей
                                                            29 июля 2015, 09:33
                                                            0
                                                            Загружается на диск файл по ссылке.
                                                            Я разобрался с этим. Оказалось что если в поле ответа есть тег ссылки с незакрытым кавычкой адресом, то не грузится. Вот такое странное поведение.
                                                              Воеводский Михаил
                                                              29 июля 2015, 09:39
                                                              +1
                                                              Сергей, смотрите внимательно на ссылки, которые размещаете.
                                                              В данном случае ссылка на файл из письма, данный файл доступен только при авторизации в вашем почтовом ящике. Совершенно естественно, что больше никто получить к нему доступ не может.
                                                          Сергей
                                                          28 июля 2015, 15:52
                                                          0
                                                          И еще =) Есть ли возможность задавать вопросы с разных ресурсов на определенный ресурс и выводить все ответы на нем?
                                                  Максим
                                                  24 июля 2015, 04:26
                                                  0
                                                  Здравствуйте. Приобрел компонент. но при вызове выдает ошибку Can`t find jQuery ajaxForm plugin! Подскажите как поправить? Или его нужно выводить как то совместно с ajaxForm?
                                                  На данные момент так
                                                  [[!ecForm]]
                                                  [[!ecMessages]]
                                                  Вопрос закрыт сразу не заметил про jquery.form.js.
                                                    Наумов Алексей
                                                    24 июля 2015, 08:35
                                                    0
                                                    Хорошо, что разобрались =) Вообще изначально были вопросы у многих подобные, но я все это старался отражать в документации.
                                                    Егор
                                                    12 августа 2015, 03:49
                                                    0
                                                    Не могу на отдельной странице вывести все цепочки, даже одну не получается(
                                                    [[ecMessages? &thread=`1`]] — Вот так вывожу
                                                    Кэши сайта также обновляю
                                                      Наумов Алексей
                                                      12 августа 2015, 08:49
                                                      +1
                                                      thread=`1`
                                                      1 — это id цепочки в вашем понимании? Должно быть имя, например resource-1.
                                                        Егор
                                                        12 августа 2015, 12:03
                                                        0
                                                        Получилось вывести одну цепочку вот так [[ecMessages? &tpl=`mess` &thread=`resource-18`]] спасибо)
                                                        А как теперь вывести несколько цепочек?
                                                          Наумов Алексей
                                                          12 августа 2015, 14:07
                                                          0
                                                          Скопируйте сниппет ecMesasges, в нем найдите обработку параметра $thread, начиная со строки
                                                          $thread = $modx->getOption('thread', $scriptProperties, '');
                                                          и немного ниже, удалите.

                                                          После чего еще ниже найдите

                                                          $where = array('`Thread`.`name`' => $thread->get('name'));
                                                          и поменяйте на

                                                          $where = array();
                                                          по идее все
                                                            Егор
                                                            12 августа 2015, 14:26
                                                            0
                                                            Все получилось спасибо большое) Очень крутой плагин спасибо ещё раз. Полностью окупает свою стоимость. Хотелось бы видеть в будущем возможность добавления фото в админке)
                                                              Наумов Алексей
                                                              12 августа 2015, 15:51
                                                              0
                                                              Прям в ядре компонента этого не будет. Но через плагины сделать можно: modx.pro/components/5707-easycomm-additional-picture-field/
                                                                Егор
                                                                12 августа 2015, 23:01
                                                                0
                                                                Да круто тоже получилось. Теперь не получается вывести 3 или 4 цепочки на одной странице. Вывести подряд не подходит такой вариант, потому что потом хочу сделать пагинация с помощью [[!pdoPage?]]. Как нибудь можно вывести несколько определенных цепочек?
                                                                  Наумов Алексей
                                                                  13 августа 2015, 09:38
                                                                  0
                                                                  Не очень понял… Несколько вызовов ecMessages вроде как и все:

                                                                  [[ecMessages? &thread=`resource-1`]]
                                                                  [[ecMessages? &thread=`resource-2`]]
                                                                  [[ecMessages? &thread=`resource-3`]]
                                                    varanika
                                                    05 ноября 2015, 17:05
                                                    0
                                                    А можно подробнее про ajaxform? Не до конца поняла про подключение.
                                                    Вызывать так:
                                                    [[!AjaxForm? 
                                                    &snippet=`ecForm`
                                                    &form=`tpl.ecForm`
                                                    Нужно ли что-то дописывать в php? Выбивает error submit…
                                                      Наумов Алексей
                                                      05 ноября 2015, 19:47
                                                      0
                                                      Нет, не тот ajaxform имею ввиду, а вот это плагин jQuery malsup.com/jquery/form/, подключите его на страницу.
                                                        varanika
                                                        06 ноября 2015, 13:11
                                                        0
                                                        Спасибо, ох уж эти тезки :) А не подскажете, какие таблицы в базе создает плагин? Интересует, ибо планирую сделать чистку от старого удаленного мусора, который сидит то в базе, то в папках…
                                                    Denis
                                                    19 ноября 2015, 21:30
                                                    0
                                                    Здравствуйте! У меня возникла проблема с выводом отзывов в других разделах моего сайта. При выводе отзыва на странице ресурса, к которому он принадлежит, звездочки выводятся нормально, но при выводе в другом разделе сайта, например, если нужно вывести несколько последних отзывов на главной странице сайта, то в этом случае звездочки не выводятся. Кто знает куда копать?
                                                      Denis
                                                      19 ноября 2015, 23:06
                                                      0
                                                      Проблема решена. Нужно было прописать путь к файлу ec.default.css в секции
                                                      <head></head>
                                                        Наумов Алексей
                                                        20 ноября 2015, 10:19
                                                        0
                                                        Все верно.

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

                                                        Я рекомендую еще убрать из системных настроек путь к этому файлу, что бы избежать двойного подключения на странице.
                                                      Виталий
                                                      01 декабря 2015, 17:38
                                                      0
                                                      Крутая штука, но мне в ней не хватает возможности оставлять комменты после авторизации через соц сети! А так бы купил
                                                        Наумов Алексей
                                                        03 декабря 2015, 10:02
                                                        0
                                                        В каком плане? После авторизации можно оставлять комментарии… И id авторизованного пользователя даже в базе сохраняется, после чего можно делать выборку с JOIN таблицы пользователей. Но да, это не из коробки, нужно писать самому.
                                                          Виталий
                                                          03 декабря 2015, 11:51
                                                          0
                                                          Я имею ввиду авторизацию через соц сети не на самом сайте где есть форма с комментариями, а именно что бы соц и конки были возле формы комментариев, и только после авторизации нажав на любую соц иконку можно было писать комменты или отзывы!
                                                            Наумов Алексей
                                                            03 декабря 2015, 11:55
                                                            0
                                                            Воспользуйтесь HybrudAuth или иным компонентом для авторизации, а компонентом Personalize для того, что бы скрывать форму добавления новых сообщений не авторизованными пользователями.
                                                        Anton
                                                        02 декабря 2015, 23:21
                                                        0
                                                        а как вывести средний рейтинг в отдельное ТВ?
                                                          Наумов Алексей
                                                          03 декабря 2015, 10:03
                                                          0
                                                          Что значит в отдельное ТВ?

                                                          Если я верно понял, то можно написать плагин, который будет реагировать на добавление/редактирование/удаление комментария и в этот момент копировать рейтинг цепочки хоть куда, в том числе и в TV.
                                                            Anton
                                                            03 декабря 2015, 14:10
                                                            0
                                                            Поняли правильно. Только я не зна как так сделать
                                                            Роман Воропаев (Volk)
                                                            16 декабря 2015, 13:18
                                                            +1
                                                            Хотелось бы, что бы было реализовано в отзыве загружать фотографии на сервер, которые потом будут автоматом прикреплены к отзыву. ну и с возможностью отключения этой функции.
                                                              Сергей
                                                              23 декабря 2015, 08:25
                                                              0
                                                              Где подкрутить, что бы при ответе на сообщение в админке галка «Уведомить о публикации (или ответе) пользователя по почте:» была по умолчанию включена?
                                                                Наумов Алексей
                                                                23 декабря 2015, 10:46
                                                                0
                                                                Думаю, что можно попробовать пойти аж тремя путями:
                                                                1. Добавить hidden поле notify=«1» в форму, не забыв добавить и его и в параметр allowedFields сниппета ecForm.
                                                                2. Написать плагин на событие OnEcMessageSave с проверкой, что это новое сообщение и там установить значение поля notify.
                                                                3. Поменять в исходниках значение поля по-умолчанию =)
                                                                  Сергей
                                                                  23 декабря 2015, 11:58
                                                                  0
                                                                  задал 1 в 'notify' => 1, в файле и все заработало как надо
                                                                  core\components\easycomm\model\easycomm\mysql\ecmessage.map.inc.php
                                                                    Наумов Алексей
                                                                    23 декабря 2015, 12:02
                                                                    0
                                                                    Ну так то оно да, но ровно до следующего обновления компонента…
                                                                antonina022
                                                                27 декабря 2015, 14:15
                                                                0
                                                                Подскажите, пожалуйста, easycomm можно применять для modx evolution???
                                                                  Николай
                                                                  27 декабря 2015, 14:18
                                                                  0
                                                                  Конечно нет, это два разных движка
                                                                  Сергей
                                                                  13 января 2016, 11:01
                                                                  0
                                                                  Использую ваш компонент, на мед портале, для ответов на вопросы пациентов, на форме добавил галку
                                                                  Не отображать вопрос на сайте
                                                                  />
                                                                  в core\components\easycomm\model\easycomm\easycomm.class.php
                                                                  Добавил if (!$data['noshow']) $fields['published'] = 1;
                                                                  т.е. если человек не хочет что бы его вопрос отображался на сайте, ставит галку «Не отображать вопрос на сайте»

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

                                                                    Наумов Алексей
                                                                    13 января 2016, 11:37
                                                                    0
                                                                    У вас часть кода съелась в комментарии…

                                                                    Но если я верно понял, то добавьте в вызов ecMessages условие:

                                                                    &where=`{"noshow": 0, "reply_text:!=": ""}`
                                                                    как-то так получается…
                                                                      Сергей
                                                                      14 января 2016, 06:23
                                                                      0
                                                                      то что съехало, там был просто input type=«checkbox» id=«noshow» name=«noshow»
                                                                      в зависимости от того стоит там галка или нет в core\components\easycomm\model\easycomm\easycomm.class.php

                                                                      $fields['published'] присваивается либо 0 либо 1

                                                                      &where=`{«noshow»: 0, «reply_text:!=»: ""}`
                                                                      как-то так получается…
                                                                      Так?
                                                                      [[!ecMessages? &where=`{"noshow": 0, "reply_text:!=": ""}`]]
                                                                      от куда сниппет узнает про noshow? он же только в html

                                                                      ps: Мне нужно сделать мадерирование вопросов пользователей, перед публикацией, а публиковать автоматом при ответе только те, на которых сняли галку «Не отображать вопрос на сайте»
                                                                      <td><label for="noshow">Не отображать вопрос на сайте</label></td>
                                                                      <td><input type="checkbox" id="noshow" name="noshow"/></td>
                                                                        Наумов Алексей
                                                                        14 января 2016, 09:44
                                                                        0
                                                                        Я думал, что noshow — это поле, которое вы добавили к объекту и оно есть в таблице, я бы так сделал.

                                                                        Если у вас уже проставляется published так, как нужно, то просто добавьте условие, что бы показывались все опубликованные отзывы, у которых есть ответ:

                                                                        [[!ecMessages? &where=`{"reply_text:!=": ""}`]]
                                                                        По идее должно работать
                                                                    Сергей
                                                                    16 февраля 2016, 08:30
                                                                    0
                                                                    постоянно выскакивает надпись ec_fe_spam_detected
                                                                    при выводе сообщений
                                                                    искал в исходниках что бы затереть, что то не могу найти
                                                                      Наумов Алексей
                                                                      16 февраля 2016, 11:12
                                                                      0
                                                                      У компонента есть такая защита, что одно из полей (address) при добавлении нового сообщения должно быть hidden и пустым. Поищите в документации antispamField.

                                                                      Вероятно вы что-то с ним связанное поменяли.

                                                                      Вот код из файла easycomm.class.php, который проверяет на спам:

                                                                      if(!empty($this->config['antispamField'])) {
                                                                                  if(!empty($data[$this->config['antispamField']])) {
                                                                                      return $this->error("ec_fe_spam_detected");
                                                                                  }
                                                                              }
                                                                        Сергей
                                                                        16 февраля 2016, 11:19
                                                                        0
                                                                        Спасибо, помогло, не стал разбираться, просто затер сообщение.
                                                                        Оно появляется на странице где только снипет ecMessages формы нету. какой там антиспам может быть?
                                                                          Наумов Алексей
                                                                          16 февраля 2016, 11:22
                                                                          0
                                                                          Очень странно:) вроде только в 1-м месте этот ec_fe_spam_detected выводится и то, при создании сообщения…
                                                                      Andrey Frost
                                                                      16 февраля 2016, 15:54
                                                                      0
                                                                      Подскажите, пожалуйста как реализовать возможность ответа на вопрос/комментарий с фронтенда
                                                                        Наумов Алексей
                                                                        16 февраля 2016, 16:25
                                                                        +1
                                                                        Такой возможности не предусмотрено и она не закладывалась.

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

                                                                        Конечно, вы можете написать некий код, что бы и с фронтэнда отвечать, но какого то общего решения нет. В вашем коде вам нужно просто заполнять поле reply_text у сообщения, это и есть ответ на него.
                                                                          Andrey Frost
                                                                          16 февраля 2016, 17:57
                                                                          0
                                                                          Подскажите пожалуйста в какую сторону копать, пробовал через сниппет ecForm, но как определить к какому из комментов цепочки относится ответ
                                                                            Наумов Алексей
                                                                            16 февраля 2016, 21:00
                                                                            0
                                                                            Сниппет ecForm вам тут совершенно не поможет. Нужно полностью писать самому всю обработку, ничего готового — нет.
                                                                        Сергей
                                                                        16 марта 2016, 14:33
                                                                        0
                                                                        Добрый день!
                                                                        Только установил и столкнулся с проблемой. Русский язык не понимает screenshot.su/show.php?img=423faa833ff89bd360c3df58450832a7.jpg
                                                                        В админке та-же проблема.
                                                                        Помогите решить
                                                                          Наумов Алексей
                                                                          16 марта 2016, 14:37
                                                                          0
                                                                          Добрый день. Ищите проблему в кодировке вашей БД. Должна быть utf-8 как всей базы, так и отдельных таблиц и колонок.

                                                                          У вас с вероятностью 99% где-то стоит иная кодировка.
                                                                            Сергей
                                                                            16 марта 2016, 15:01
                                                                            0
                                                                            Спасибо за такой быстрый ответ.
                                                                            1. Админку проверил, стоит utf8
                                                                            2. Базу скачал, там везде CHARSET=utf8
                                                                            Единственное, что сделал, это сравнение utf8_general_ci
                                                                            Сбросил кэш, перезашел в админку, не помогло. Что еще посмотреть.
                                                                            Дополнение tickets работает нормально.
                                                                            И как цепочки скрыть?
                                                                              Konstantin
                                                                              16 марта 2016, 15:08
                                                                              0
                                                                              заголовки сервера какие?
                                                                              в исходном коде страницы что стоит?
                                                                              в базе данных уже хранятся знаки вопроса вместо букв?
                                                                              В браузере меняли кодировку?
                                                                                Сергей
                                                                                16 марта 2016, 15:23
                                                                                0
                                                                                заголовки сервера какие? — это вы про логи или что?? Если да, то по данному компоненту нет ошибок
                                                                                в исходном коде страницы что стоит? — это вы про что? m2.demo.cresca.ru/otzyivyi.html
                                                                                в базе данных уже хранятся знаки вопроса вместо букв? — да
                                                                                В браузере меняли кодировку? — я даже знать не знаю как это сделать, как и любой другой пользователь, который будет комментарий оставлять

                                                                                И как вот этот бред остановить в логах? Я уже давно удалил компонент этот
                                                                                [2016-03-08 15:04:14] (ERROR @ /index.php) Could not load class: TicketsSection from mysql.ticketssection.
                                                                                Из-за этого логи уже 120 мб весят
                                                                                  Сергей
                                                                                  16 марта 2016, 15:40
                                                                                  0
                                                                                  Все вопрос решен, при установке, 2 таблицы и строки создались в неверной кодировке.
                                                                                  Пришлось заменить в скаченном файле кодировку.

                                                                                  Вопрос по поводу как закрыть или спрятать «цепочки» еще открыт.
                                                                                  И подскажите пожалуйста как полностью удалить компонент tickets, всем заранее спасибо.
                                                                                    Наумов Алексей
                                                                                    16 марта 2016, 16:35
                                                                                    0
                                                                                    закрыть или спрятать «цепочки»
                                                                                    Где? Что именно вы хотите получить?
                                                                                      Сергей
                                                                                      16 марта 2016, 17:50
                                                                                      0
                                                                                      Я установить хочу ваш модуль клиенту, сделать отзывы, но при этом не хочу, что бы эта вкладка вообще была ему доступна screenshot.su/show.php?img=7263530b9811f70d71a2d376f51fc072.jpg
                                                                                      Убрать полностью это вкладку для роли manager
                                                                                        Наумов Алексей
                                                                                        17 марта 2016, 08:51
                                                                                        0
                                                                                        вот как… понял. Штатно вроде бы нет такой возможности.

                                                                                        Могу предложить закомментировать в файле
                                                                                        assets/components/easycomm/js/mgr/widgets/home.panel.js

                                                                                        строки с 28 по 38, вот так:
                                                                                        }/*, {
                                                                                                        title: _('ec_threads'),
                                                                                                        layout: 'anchor',
                                                                                                        items: [{
                                                                                                            html: _('ec_threads_intro_msg'),
                                                                                                            cls: 'panel-desc'
                                                                                                        }, {
                                                                                                            xtype: 'ec-grid-threads',
                                                                                                            cls: 'main-wrapper'
                                                                                                        }]
                                                                                                    }*/]
                                                                                        только в скобочках не запутайтесь, по идее это просто уберет вкладку, на иной функционал повлиять не должно.

                                                                                        В будущей версии мож придумаю чего, хотя вы первый попросили. Ну или надо плагин написать, который будет скрывать эту вкладку, но как это сделать я не знаю :)
                                                                                          Сергей
                                                                                          17 марта 2016, 09:21
                                                                                          0
                                                                                          Все супер, спасибо, работает!
                                                                                            Сергей
                                                                                            17 марта 2016, 12:45
                                                                                            0
                                                                                            Простите, я вас еще немного помучаю, как скрыть их у самой страницы, цепочки screenshot.su/show.php?img=4cd4c4240479460f3e52c32da5efd9d9.jpg
                                                                                              Наумов Алексей
                                                                                              17 марта 2016, 13:54
                                                                                              0
                                                                                              Если только по аналогии…

                                                                                              файл assets/components/easycomm/js/mgr/widgets/page.panel.js

                                                                                              Там с 30 по 40 строки аналогичные действия.
                                                                                              Сергей
                                                                                              17 марта 2016, 14:53
                                                                                              0
                                                                                              Все супер, работает! Спасибо еще раз.
                                                                                            Илья
                                                                                            03 апреля 2016, 11:41
                                                                                            0
                                                                                            В будущей версии мож придумаю чего, хотя вы первый попросили. Ну или надо плагин написать, который будет скрывать эту вкладку, но как это сделать я не знаю :)
                                                                                            Честно говоря, я тоже хотел такую возможность. Буквально вчера настроил политики доступа, ограничил юзеру ресурсы, встал вопрос с сообщениями.

                                                                                            У меня юзер видит только тот ресурс, который я ему разрешил (в настройках пользователя указал id ресурса для ключа tree_root_id), и хотелось бы, что бы юзер мог видеть сообщения только для видимого ему ресурса, без правки исходников.

                                                                                            ps. если tree_root_id указать 0 — видны все ресурсы, если перечислять (можно перечислять через запятую), то видны только перечисленные ресурсы. Отсюда можно ввести проверку по этому ключу и на основе проверки показывать только сообщения и цепочки для разрешенного ресурса.

                                                                                            Спасибо, надеюсь моё сообщение поможет в реализации данной функции.
                                                                                              Наумов Алексей
                                                                                              03 апреля 2016, 16:23
                                                                                              0
                                                                                              Так можно ж вывести вкладку Сообщения для ресурсов, соответсвенно и будут пользователи видеть только сообщения тех ресурсов, что они видят :)
                                                                                              Илья
                                                                                              03 апреля 2016, 17:27
                                                                                              0
                                                                                              Верно, только еще пользователь видит и может редактировать цепочки,
                                                                                              а при редактировании сообщения можно в настройках поменять привязку к цепочке. Такая возможность удручает.
                                                                          Roman Sirecky
                                                                          20 марта 2016, 03:23
                                                                          0
                                                                          Подскажите, пожалуйста, можно ли вывести последний комментарий, например, на главной? В схожих приложениях есть что то типа «lastcomment», есть ли это тут?
                                                                          Сергей
                                                                          24 марта 2016, 10:14
                                                                          0
                                                                          Вы простите меня, но я вас еще немного помучаю.
                                                                          Как сделать, что бы эта вкладка не создавалась на других страницах? Надо что бы она была только на 1 й. Где действительно отзывы. А то при создании новых ресурсов она появляется автоматически.
                                                                            Сергей
                                                                            24 марта 2016, 10:17
                                                                            0
                                                                            В системных настройках параметры: ec_show_resources, ec_show_templates.
                                                                            Сергей
                                                                            24 марта 2016, 10:20
                                                                            0
                                                                            Все вопрос решен!
                                                                            Артур
                                                                            17 апреля 2016, 23:46
                                                                            0
                                                                            Добрый день! Во-первых огромное спасибо за компонент, он действительно шикарен) А во-вторых — подскажите пожалуйста, возможно ли сделать так, чтобы если на странице нет ни одного сообщения выдавалось что-то вроде
                                                                            <div>К данному товару пока нет отзывов</div>
                                                                            А когда было оставлено первое сообщение данный блок пропадал?) Я понял, что штатно этой функции нет, но может подскажите куда пилить) Заранее огромное спасибо)
                                                                              Наумов Алексей
                                                                              18 апреля 2016, 11:01
                                                                              1
                                                                              0
                                                                              Добрый день! Спасибо за спасибо)

                                                                              По сабжу: а вызов типа

                                                                              [[!ecMessages:default=`НИЧЕГО НЕТ`? ..параметры..]]
                                                                              не решит этот вопрос?
                                                                                Артур
                                                                                18 апреля 2016, 19:44
                                                                                0
                                                                                Оу)) не знал, что так можно) Молодой, не опытный… Спасибо огромное)
                                                                              Denis
                                                                              22 апреля 2016, 14:36
                                                                              0
                                                                              Здравствуйте. Можете подсказать как вывести средний рейтинг по отзывам для одной ветки?
                                                                                Наумов Алексей
                                                                                22 апреля 2016, 15:25
                                                                                0
                                                                                Так сниппет ecThreadRating есть в комплекте, он именно это и делает.
                                                                                  Denis
                                                                                  28 апреля 2016, 14:24
                                                                                  0
                                                                                  Я новичек в modx поэтому возникают некоторые вопросы. С выводом рейтинга на странице я разобрался, а как можно вывести среднее значение рейтинга, на превью. Допустим у меня есть каталог отелей, в карточке отеля понятно как вывести рейтинг, как это сделать в превью отеля на общей странице не ясно.
                                                                              Mike
                                                                              01 августа 2016, 10:25
                                                                              0
                                                                              Здравствуйте. Подскажите пожалуйста куда копать, при нажатии кнопки «Отправить» возникает всплывающее окно «Неизвестное действие». Jquery и jquery.form вроде подключил.
                                                                                Наумов Алексей
                                                                                01 августа 2016, 10:34
                                                                                0
                                                                                Что-то с формой наверное намудрили. Сложно сказать, нужно смотреть сайт.
                                                                                  Mike
                                                                                  01 августа 2016, 10:58
                                                                                  0
                                                                                  Поставил форму по умолчанию, результат тот-же. Были проблемы с установкой дополнения, слетели разрешения, потом вроде поправил — ошибок при переустановке не было. Форма находится здесь kim-rm.ru/otzyivyi-o-rabote-kliniki
                                                                                    Наумов Алексей
                                                                                    01 августа 2016, 11:08
                                                                                    0
                                                                                    Попробуйте в файле /assets/components/easycomm/action.php отловить, что происходит с переменной $action. Такой ответ (срока 50 файла) вроде только из-за проблем с ней может быть.

                                                                                    Может быть на сервере какие-то настройки мешают…
                                                                                      Mike
                                                                                      07 августа 2016, 16:33
                                                                                      0
                                                                                      В переменной $action — message/create, а по оператору switch в 50 строке берется действие не для case 'message/create', а применяется default действие. Ничего не понимаю. Я печатал в начале файла массив $_REQUEST целиком и $_REQUEST[action] в частности, значение message/create. Смотрел POST-запрос — все данные уходят. Наверное на сервере что-то не так отрабатывается, других вариантов скорее всего нет. Может попробовать поставить пустой тестовый modx на этот же сервер и запустить на нем компонент с целью проверки? Насколько я понимаю компонент привязан к доменному имени. Можно потом вернуть привязку к первоначальному имени?
                                                                                Сергей
                                                                                17 августа 2016, 11:52
                                                                                0
                                                                                Сегодня или вчера перестали выводиться вопросы, пол года все работало, ни чего не трогал, форма для ввода выводится, сообщения отправляются, а не выводится на сайте ни чего, уже все позабыл, где что копать и еще названия всех цепочек продублировались gyazo.com/bbac00cc73d3dd9fa790fc8b234ed094

                                                                                За день до этого перестали подходить пороли от всех админов сайта, сбросил их запросом к базе
                                                                                Сами вопросы в админке есть, в базе всмысле
                                                                                  Сергей
                                                                                  17 августа 2016, 12:26
                                                                                  0
                                                                                  Удаляю новые дублированные цепочки из админки или прям из базы и она снова создаются, gyazo.com/6a72ec7d01f668fd2a48c33e4edef702 выделено желтым

                                                                                  и названия в апострофах заключено почему то
                                                                                    Сергей
                                                                                    17 августа 2016, 12:49
                                                                                    0
                                                                                    Если я вызываю на странице у которой заголовок английскими буквами, то все работает и создается цепочка с названием из заголовка, а если заголовок русскими буквами, то создается цепочка с заголовком заключенным в апострофы, с чего вдруг так стало, на сайте ни чего не менял
                                                                                      Сергей
                                                                                      17 августа 2016, 13:11
                                                                                      0
                                                                                      Если переименовать заголовок документа и соответствующую цепочку в английскии символы, то все начинает работать.
                                                                                      Но нужны русские, зачем
                                                                                      [[!ecForm?
                                                                                      &requiredFields=`user_name,text,user_email`
                                                                                      &thread=`[[*pagetitle]]`
                                                                                      ]]

                                                                                      создает цепочку и добавляет апострофы к заголовку (для русских заголовков)?
                                                                                        Наумов Алексей
                                                                                        17 августа 2016, 14:20
                                                                                        0
                                                                                        кавычки из-за каких-то проблем на сервере, точно не могу сказать.

                                                                                        А зачем thread делаете равным pagetitle?
                                                                                        Это же чревато… чем родной resource-[[*id]] не устроил? Думаю, что нужно это исправить и проблем не будет.
                                                                                          Klike
                                                                                          18 августа 2016, 07:56
                                                                                          0
                                                                                          Алексей, подскажите пожалуйста, можно ли реализовать вывод формы ecForm, с выбором ветки?
                                                                                          Например, на сайте есть две ветки (вопросы, отзывы), и в форме, например выпадающим списком (или радио, не важно) посетитель выбирает, куда написать.
                                                                                            Наумов Алексей
                                                                                            18 августа 2016, 09:35
                                                                                            +1
                                                                                            Да, вы просто делаете select с name=«thread», где у options разные value, например review-[[*id]], question-[[*id]] и работаете.
                                                                                              Klike
                                                                                              18 августа 2016, 10:12
                                                                                              0
                                                                                              Спасибо!
                                                                                        Кирилл Киселев
                                                                                        19 августа 2016, 21:23
                                                                                        0
                                                                                        Здравствуйте! Пытался сделать свои дополнительные поля через эту статью:
                                                                                        docs.modx.pro/components/minishop2/development/plug-ins-products
                                                                                        В админке поля создаются, но через форму в базе данных они не сохраняются! Как быть?
                                                                                        В бд я эти поля создал.
                                                                                        Валерий
                                                                                        31 августа 2016, 19:30
                                                                                        0
                                                                                        Добрый вечер.
                                                                                        А можно в данном компоненте настроить подтверждение активации отзыва через почту. Т.е. на почту администратору приходит письмо с самим отзывом и ссылкой, перейдя по которой, администратор активирует этот отзыв (как подтверждение регистрации на большинстве сайтов)?
                                                                                          Наумов Алексей
                                                                                          01 сентября 2016, 09:18
                                                                                          +1
                                                                                          Приветствую!

                                                                                          Из коробки нет такой функции, нужно что-то придумывать и писать, например сделать отдельную страницу и разместить там небольшой сниппет, который будет обрабатывать запросы типа: /puplish-comment/?id=XXX&publish=1&secret=XXXXXXX
                                                                                          где secret это что нибудь типа md5 от id + секретный код, записанный в настройках.

                                                                                          А ссылку такую уже формировать в шаблоне письма…
                                                                                            Валерий
                                                                                            01 сентября 2016, 13:33
                                                                                            0
                                                                                            Спасибо, буду пробовать :)
                                                                                            Перед глазами код с предыдущего сайта на Evo. Там это реализовано. В принципе, примерно так, как вы описали, по крайней мере в реализации ссылки.
                                                                                          Tomas
                                                                                          22 сентября 2016, 21:27
                                                                                          1
                                                                                          0
                                                                                          Здравствуйте.
                                                                                          Использую компонент для отзывов о пользователях.

                                                                                          Подскажите как вывести общий рейтинг в списке пользователей? Используется pdoUser.

                                                                                          thread == user-(id пользователя)

                                                                                          Форма с добавлением отзыва находится на одном и том же ресурсе для разных пользователей, пример www.site.ru/user?id=111

                                                                                          Пробовал сделать плагин, при добавлении, удалении и тд. Он должен был брать из обновленной ветки рейтинг и добавлять его в кастомную таблицу пользователя, но он срабатывал только при добавлении отзыва с сайта, а при публикации, удалении не срабатывал. Использовал эти события joxi.ru/Q2KlNas95nXoAj
                                                                                            Наумов Алексей
                                                                                            23 сентября 2016, 09:08
                                                                                            0
                                                                                            Добрый день!
                                                                                            При вызове pdoUsers делайте join таблицы отзывов, по аналогии с этой публикацией: modx.pro/solutions/7446-join-easycomm-and-mfilter2/, только у вас условие будет не
                                                                                            "on": "msProduct.id = ecThread.resource"
                                                                                            а что-то вроде (не проверял)
                                                                                            "on": "CONCAT('user-', modUser.id)= ecThread.name"
                                                                                              Tomas
                                                                                              23 сентября 2016, 11:57
                                                                                              0
                                                                                              Спасибо, все получилось
                                                                                            max
                                                                                            max
                                                                                            30 сентября 2016, 08:52
                                                                                            0
                                                                                            Отличный плагин!
                                                                                            Есть маленькое предложение: было бы неплохо в настройки сниппета ecForm внести параметр типа adminEmail — чтобы можно было уведомлять определенных менеджеров. Часто, например, за функционал «вопрос-ответ» и «отзывы» (оба реализованы с помощью EasyComm) отвечают два разных контент-менеджера и хотелось бы распределять уведомления о новых сообщениях пользователей по конкретным ответственным менеджерам. Плюсом было бы неплохо, если в параметр можно было бы передавать несколько адресов e-mail разделенных запятой.
                                                                                            А так — все отлично! Спасибо за плагин =)

                                                                                            Для тех, кому срочно надо (типа меня)… По идее, достаточно поменять код в файле easycomm.class.php в функции sendNewMessageNotification:
                                                                                            if(empty($to)) {
                                                                                                $to = $this->modx->getOption('emailsender');
                                                                                            }
                                                                                            на
                                                                                            if(empty($to)) {
                                                                                                $to = !empty($this->config['adminEmail']) ? $this->config['adminEmail'] : $this->modx->getOption('emailsender');
                                                                                            }
                                                                                            и затем передавать в вызове ecForm параметр adminEmail
                                                                                              Наумов Алексей
                                                                                              30 сентября 2016, 09:11
                                                                                              0
                                                                                              Спасибо за отзыв и предложение, запишу в пожелания.
                                                                                                Наумов Алексей
                                                                                                11 января 2017, 15:41
                                                                                                0
                                                                                                С опозданием, но сделал :)

                                                                                                Параметр mailManager у сниппета ecForm в свежей версии (1.2.7-pl), доступно для обновления.
                                                                                                  Василий Столейков
                                                                                                  06 декабря 2017, 13:29
                                                                                                  1
                                                                                                  +1
                                                                                                  Вопрос: параметр mailManager (как и системная настройка ec_mail_manager) позволяет указывать только один емайл, или можно несколько через запятую как это сделано у тикетов?
                                                                                                  Если нет, то как отправить сообщение нескольким менеджерам одновременно?
                                                                                              Сергей
                                                                                              07 октября 2016, 10:35
                                                                                              0
                                                                                              вывожу сообщения так
                                                                                              [[!ecMessages?  &limit=`1200`]]

                                                                                              но все равно выводятся не все сообщения, а всего 11 штук примерно, а должно быть гораздо больше, где и что можно подправить?
                                                                                                Наумов Алексей
                                                                                                07 октября 2016, 10:55
                                                                                                0
                                                                                                т.к. по-умолчанию выводятся сообщения текущего ресурса.

                                                                                                Укажите &threads=`*`, см. описание параметра в документации docs.modx.pro/components/easycomm/snippets
                                                                                                  Сергей
                                                                                                  07 октября 2016, 10:57
                                                                                                  0
                                                                                                  Дак мне и надо текущего, в админки их больше гораздо
                                                                                                    Сергей
                                                                                                    07 октября 2016, 10:59
                                                                                                    0
                                                                                                    В админке 64, а выводится 11
                                                                                                      Сергей
                                                                                                      07 октября 2016, 11:02
                                                                                                      0
                                                                                                      gyazo.com/0b0d55b1ddffb02310869f6203c2a8ba

                                                                                                      прописал так [[!ecMessages? &threads=`resource-242` &limit=`1200`]]

                                                                                                      стало вообще одно выводиться

                                                                                                      так &threads=`*` тоже одно выводится
                                                                                                        Сергей
                                                                                                        07 октября 2016, 11:06
                                                                                                        0
                                                                                                        [[!ecMessages? &limit=`0`]]

                                                                                                        все вот так теперь выводятся все сообщения из этого раздела
                                                                                                          Наумов Алексей
                                                                                                          07 октября 2016, 11:33
                                                                                                          0
                                                                                                          Очень странное поведение, никогда не встречал такого…
                                                                                                          параметр limit всегда отличался корректностью работы. Я обычно 0 пишу, когда нужно вывести все. Хорошо, что заработало.
                                                                                                            Konstantin
                                                                                                            30 октября 2016, 21:10
                                                                                                            0
                                                                                                            А у меня [[!ecMessages?
                                                                                                            &limit=`0`
                                                                                                            ]]
                                                                                                            категорически не работает… выводит всего несколько сообщений
                                                                                                Александр
                                                                                                06 ноября 2016, 08:54
                                                                                                0
                                                                                                напишите как вывести средний рейтинг я не понимаю использую rating_simple но может не так как то вывожу?
                                                                                                Александр
                                                                                                09 ноября 2016, 20:31
                                                                                                0
                                                                                                подскажите пожалуйста как вывести комментарий:

                                                                                                к примеру у меня такая структура:

                                                                                                дом (родитель)
                                                                                                — о доме (дочерний элемент)
                                                                                                — новости (дочерний элемент)
                                                                                                — отзывы (дочерний элемент)

                                                                                                отзывы люди оставляют во вкладке отзывы, как эти отзывы вывести на родительской странице «дом»

                                                                                                спасибо за ответ
                                                                                                  Наумов Алексей
                                                                                                  09 ноября 2016, 20:56
                                                                                                  0
                                                                                                  Добрый день. Используйте параметр thread у сниппетов, например:

                                                                                                  // на странице Дом
                                                                                                  &thread=`house-[[*id]]`
                                                                                                  // на странице Отзывы
                                                                                                  &thread=`house-[[*parent]]`
                                                                                                Александр
                                                                                                09 ноября 2016, 21:03
                                                                                                0
                                                                                                все разобрался спасибо!
                                                                                                  Александр
                                                                                                  10 ноября 2016, 09:08
                                                                                                  0
                                                                                                  Добрый день!

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

                                                                                                  Спасибо.
                                                                                                    Наумов Алексей
                                                                                                    10 ноября 2016, 10:13
                                                                                                    0
                                                                                                    Вы же выше это же спросили и написали, что разобрались.
                                                                                                    Я не очень понимаю, где, как, каким сниппетом вы выводите, что значит цифрой?
                                                                                                    Александр
                                                                                                    10 ноября 2016, 10:15
                                                                                                    0
                                                                                                    на странице записи как вывести эти значения?

                                                                                                    prntscr.com/d5edsf
                                                                                                    Александр
                                                                                                    29 ноября 2016, 09:13
                                                                                                    1
                                                                                                    0
                                                                                                    День добрый! Сразу оговорюсь, я чайник в этих делах. Купил Ваше дополнение, установил. Создаю новый ресурс, привязываю к нему это дополнение, получается, что могу редактировать сообщения прям из под ресурса — это понял, все ок. Но скажите какой код нужно вставить на странице ресурса, чтобы он начал отображать комменты и дал возможность писать новые! Заранее спасибо! Все, что необходимо для работы установил, как написано в инструкции.
                                                                                                      Наумов Алексей
                                                                                                      29 ноября 2016, 16:02
                                                                                                      0
                                                                                                      На странице вызываете сниппеты:

                                                                                                      [[!ecMessages]]
                                                                                                      [[!ecForm]]
                                                                                                      первый выводит опубликованные сообщения, второй выводит форму добавления.
                                                                                                      Даниил
                                                                                                      19 декабря 2016, 11:01
                                                                                                      0
                                                                                                      С плагинами вроде понял и разобрался. Поля могу добавить. А вот как мне через систему плагинов подключить свой JS-скрипт? Надо добавить кое-какие действия, а в родной JS не хочется засовывать, ибо потом обновления все дела. Конечно можно просто в системных настройках прописать свой JS-файл, но тоже чревато.

                                                                                                      Помню была какая-то старая версия Tickets у меня, я там как раз сделал так. Через достаточно большой период времени обновил компонент, в итоге с моим JS-скриптом отказался вообще работать, т.к. за длительный период родной JS у Tickets значительно изменил логику работы. Замучался потом из старого и нового скриптов делать гибрид, чтоб и новое все заработало и мои дополнения чтоб функционировали.

                                                                                                      Не хочу чтоб через пару лет мне пришлось столкнуться с той же проблемой у easyComm. Поэтому хочу именно еще одним дополнительным JS-файлом это сделать, как плагин.
                                                                                                        Даниил
                                                                                                        19 декабря 2016, 11:07
                                                                                                        0
                                                                                                        Пробовал в плагине «core/components/easycomm/plugins/actions/index.php» просто подключиться к MODX и зарегать свой скрипт

                                                                                                        <?php
                                                                                                        define('MODX_API_MODE', true);
                                                                                                        require $_SERVER['DOCUMENT_ROOT'].'/index.php';
                                                                                                        $modx->getService('error','error.modError');
                                                                                                        $modx->regClientStartupScript('assets/components/easycomm/plugins/actions/actions.js');

                                                                                                        Так не работает. Вообще страница падает из-за php конфликта.
                                                                                                          Наумов Алексей
                                                                                                          19 декабря 2016, 12:08
                                                                                                          0
                                                                                                          Так просто в head подключите свой скрипт и все, зачем мучать себя? Пусть всегда будет подключен.

                                                                                                          Я же обычно делаю так:
                                                                                                          Конечно можно просто в системных настройках прописать свой JS-файл, но тоже чревато.
                                                                                                          но при обновлениях приходится следить, что произошло и вносить изменения.
                                                                                                            Даниил
                                                                                                            20 декабря 2016, 12:39
                                                                                                            0
                                                                                                            Ну в head эт я в первую очередь сделал, но думаю это как временное решение, потом всеж придумаю как плагином. Поросто сайтов много и когда переносишь какое-то настроенное решение с одного сайта на другой, то всеж гораздо удобнее, чтоб достаточно было ограничиться перекидыванием чанков и заливкой файлов, чтоб в коды поминимуму вникать… Ну и как-то цивилизованнее и современнее чтоль так)))
                                                                                                        Даниил
                                                                                                        20 декабря 2016, 12:45
                                                                                                        0
                                                                                                        Сейчас вот еще вопрос возник. Как после отправки сообщения сразу отобразить его, как в Tickets?

                                                                                                        Попытался в tpl.ecForm.Success впихнуть вызов ecMessages с &limit=`1`, но там видимо где-то есть оператор экранирующий теги MODX, в итоге вместо вывода результата работы сниппета вижу просто строку его вызова. Как исправить, в каком php-файле какой кусок кода? Ну или можт еще какой путь есть?
                                                                                                          Даниил
                                                                                                          20 декабря 2016, 14:17
                                                                                                          0
                                                                                                          Компонент кстати, если интересно, прикручиваю вот на этот лэндинг http://abortam.net/. Там еще многое не работает, так сказать в процессе сборки и тестов…

                                                                                                          Изначально был Tickets, но отказался из-за того, что в базовом варианте нет поддержки вывода нескольких веток комментариев на одной странице, а easyComm имеется. Править исходники Tickets, чтобы сделать поддержку нескольких вызовов сейчас банально нет времени.

                                                                                                          Что касательно easyComm сделано:
                                                                                                          1. Сделал поддержку включения/отключения комментов для статьи в один клик в доп.полях через радиобатон в админке.
                                                                                                          2. Само-собой с CSS поработал
                                                                                                          3. Убрал лишние стандартные поля, вход/регистрация производится через собственный компонент logReg (доведу однажды до ума — выложу релиз)
                                                                                                          4. Реализована возможность мультикомментариев (комментарии на комментарий).

                                                                                                          Сейчас после входа и отправки сообщений приходится обнавлять страницу, но в планах все через AJAX допилить. Также будут аватары, загружаемые пользователями (не через Gravatar, а напрямую на хостинг). Сейчас заканчиваю еще один собственный компонент modxAva. Точнее компонент уже готов, просто на этом сайте еще не прикрутил, но потестить его можно на другом сайте — http://esolife.ru/. Там он успешно работает в паре с Tickets (на основе которого кстати там построен полноценный форум, функционал которого постепенно расширяю).
                                                                                                            Наумов Алексей
                                                                                                            20 декабря 2016, 15:44
                                                                                                            0
                                                                                                            Вот с Success не понял, в чем причина, вроде бы все должно быть хорошо…

                                                                                                            К сожалению, сейчас нет времени смоделировать ситуацию, проверьте еще раз, что каких-нибудь досадных опечаток нет…
                                                                                                              Даниил
                                                                                                              21 декабря 2016, 15:03
                                                                                                              0
                                                                                                              На всякий, для полного понимания ситуации

                                                                                                            exist17
                                                                                                            22 декабря 2016, 14:47
                                                                                                            +1
                                                                                                            Здравствуйте!
                                                                                                            Ваш отличный компонент пришелся очень вовремя и к месту. Буду использовать его для раздела FAQ. У меня на вопросы пользователей будет отвечать около 20 специалистов. Будет довольно большой объем сообщений. Поэтому без аватаров, страница будет довольно обезличенная и «не живая». Отсюда вопрос.
                                                                                                            Подскажите пожалуйста, как бы вы реализовали вывод аватара менеджера сайта, того который отвечает на вопрос пользователя?
                                                                                                            Вижу в плагине «easyComm» следующий код:
                                                                                                            $defaultReplyAuthor = '';
                                                                                                            if($modx->getOption('ec_auto_reply_author')) {
                                                                                                            	$defaultReplyAuthor = addslashes($modx->user->getOne('Profile')->get('fullname'));
                                                                                                            }
                                                                                                            Как бы так тоже прикрутить вывод аватара, который прописан у менеджера в профиле?
                                                                                                              Наумов Алексей
                                                                                                              22 декабря 2016, 15:04
                                                                                                              +2
                                                                                                              Добрый день.

                                                                                                              Жёсткой привязки автора ответа к пользователю нет, как видите тут просто fullname берем. Я бы рекомендовал в этом случае вам заменить на такой код:

                                                                                                              $defaultReplyAuthor = $modx->user->get('id');
                                                                                                              и хранить уже id пользователя.

                                                                                                              На на фронте в выборку добавлять fullname и аватар удобным вам способом
                                                                                                                exist17
                                                                                                                22 декабря 2016, 17:53
                                                                                                                0
                                                                                                                Спасибо! Примерно так структурно и представлял себе решение.
                                                                                                                Алексей, можете чуть подробнее подсказать в каком модуле можно определить текущего пользователя админки и сохранить его в таблицу «modx_ec_messages»?.. А то, изменив код именно в плагине «easyComm» как вы описали, даже после очистки кэша и всяческих перелогиниваний и удалении core\cache ничего не меняется. Думаю что это делается где-то в другом месте…
                                                                                                                  Наумов Алексей
                                                                                                                  22 декабря 2016, 19:58
                                                                                                                  0
                                                                                                                  Еще в файле /core/components/easycomm/index.class.php, аналогичный код.

                                                                                                                  Плагин работает когда работаем на странице ресурса, файл выше — работает в разделе Приложения/easyComm.
                                                                                                                    exist17
                                                                                                                    22 декабря 2016, 23:22
                                                                                                                    0
                                                                                                                    Теперь понятно. Спасибо!
                                                                                                              varanika
                                                                                                              24 декабря 2016, 22:45
                                                                                                              0
                                                                                                              Добрый вечер.
                                                                                                              Хочу реализовать форму вопроса во всплывающем окне. Если использовать фэнсибок и настроить в js закрытие на клик по кнопке — то форма закроется даже при ошибке в заполнении. Случайно в коробке нет ответов на эту реализацию?
                                                                                                                varanika
                                                                                                                25 декабря 2016, 00:55
                                                                                                                +2
                                                                                                                Как бы нашла решение :)
                                                                                                                jQuery(form).hide();
                                                                                                                                             setTimeout( function() {$.fancybox.close(); },3000);
                                                                                                                Добавить в my.default.js вместо
                                                                                                                jQuery(form).hide();
                                                                                                                varanika
                                                                                                                25 декабря 2016, 21:14
                                                                                                                1
                                                                                                                0
                                                                                                                Целиком, вдруг кто еще захочет сделать всплывающую форму связи с администрацией
                                                                                                                var easyComm = {
                                                                                                                    initialize: function(){
                                                                                                                        if(!jQuery().ajaxForm) {
                                                                                                                            easyComm.notice.error('Can`t find jQuery ajaxForm plugin!');
                                                                                                                        }
                                                                                                                        easyComm.rating.initialize();
                                                                                                                        jQuery(document).on('submit', 'form.ec-form', function(e){
                                                                                                                            easyComm.message.send(this);
                                                                                                                            e.preventDefault();
                                                                                                                            return false;
                                                                                                                        });
                                                                                                                    },
                                                                                                                
                                                                                                                    message: {
                                                                                                                        send: function(form) {
                                                                                                                            jQuery(form).ajaxSubmit({
                                                                                                                                data: {action: 'message/create'}
                                                                                                                                ,url: easyCommConfig.actionUrl
                                                                                                                                ,form: form
                                                                                                                                ,dataType: 'json'
                                                                                                                                ,beforeSubmit: function() {
                                                                                                                                    jQuery(form).find('input[type="submit"]').attr('disabled','disabled');
                                                                                                                                    jQuery(form).find('.has-error').removeClass('has-error');
                                                                                                                                    jQuery(form).find('.ec-error').text('').hide();
                                                                                                                                    return true;
                                                                                                                                }
                                                                                                                                ,success: function(response) {
                                                                                                                                    var fid = jQuery(form).data('fid');
                                                                                                                                    jQuery(form).find('input[type="submit"]').removeAttr('disabled');
                                                                                                                                    if (response.success) {
                                                                                                                                        jQuery(form)[0].reset();
                                                                                                                                        if(typeof (response.data) == "string") {
                                                                                                                                            jQuery('#ec-form-success-' + fid).html(response.data);
                                                                                                                                            jQuery(form).hide();
                                                                                                                                            setTimeout( function() {$.fancybox.close(); },3000);
                                                                                                                                        }
                                                                                                                                        else {
                                                                                                                                            easyComm.notice.show(response.message);
                                                                                                                                        }
                                                                                                                                    }
                                                                                                                                    else {
                                                                                                                                        if(response.data && response.data.length) {
                                                                                                                                            jQuery.each(response.data, function(i, error) {
                                                                                                                                                jQuery(form).find('[name="' + error.field + '"]').closest('.form-group').addClass('has-error');
                                                                                                                                                jQuery(form).find('#ec-' + error.field + '-error-' + fid).text(error.message).show();
                                                                                                                                            });
                                                                                                                                        } else {
                                                                                                                                            easyComm.notice.error(response.message);
                                                                                                                                        }
                                                                                                                                    }
                                                                                                                                }
                                                                                                                                ,error: function(){
                                                                                                                                    jQuery(form).find('input[type="submit"]').removeAttr('disabled');
                                                                                                                                    easyComm.notice.error('Submit error');
                                                                                                                                }
                                                                                                                            });
                                                                                                                        }
                                                                                                                    },
                                                                                                                
                                                                                                                
                                                                                                                    rating: {
                                                                                                                        initialize: function(){
                                                                                                                            var stars = jQuery('.ec-rating').find('.ec-rating-stars>span');
                                                                                                                            stars.on('touchend click', function(e){
                                                                                                                                var starDesc = jQuery(this).data('description');
                                                                                                                                jQuery(this).parent().parent().find('.ec-rating-description').html(starDesc).data('old-text', starDesc);
                                                                                                                                jQuery(this).parent().children().removeClass('active active2 active-disabled');
                                                                                                                                jQuery(this).prevAll().addClass('active');
                                                                                                                                jQuery(this).addClass('active');
                                                                                                                                // save vote
                                                                                                                                var storageId = jQuery(this).closest('.ec-rating').data('storage-id');
                                                                                                                                jQuery('#' + storageId).val(jQuery(this).data('rating'));
                                                                                                                            });
                                                                                                                            stars.hover(
                                                                                                                                // hover in
                                                                                                                                function() {
                                                                                                                                    var descEl = jQuery(this).parent().parent().find('.ec-rating-description');
                                                                                                                                    descEl.data('old-text', descEl.html());
                                                                                                                                    descEl.html(jQuery(this).data('description'));
                                                                                                                                    jQuery(this).addClass('active2').removeClass('active-disabled');
                                                                                                                                    jQuery(this).prevAll().addClass('active2').removeClass('active-disabled');
                                                                                                                                    jQuery(this).nextAll().removeClass('active2').addClass('active-disabled');
                                                                                                                                },
                                                                                                                                // hover out
                                                                                                                                function(){
                                                                                                                                    var descEl = jQuery(this).parent().parent().find('.ec-rating-description');
                                                                                                                                    descEl.html(descEl.data('old-text'));
                                                                                                                                    jQuery(this).parent().children().removeClass('active2 active-disabled');
                                                                                                                                }
                                                                                                                            );
                                                                                                                        }
                                                                                                                    },
                                                                                                                
                                                                                                                    notice: {
                                                                                                                        error: function(text) {
                                                                                                                            alert(text);
                                                                                                                        },
                                                                                                                        show: function(text) {
                                                                                                                            alert(text);
                                                                                                                        }
                                                                                                                    }
                                                                                                                }
                                                                                                                
                                                                                                                jQuery(document).ready(function(){
                                                                                                                    easyComm.initialize();
                                                                                                                    
                                                                                                                     var forma = $('a.fansy');
                                                                                                                     if (forma.length > 0) {
                                                                                                                     forma.fancybox({
                                                                                                                		closeClick  : false,
                                                                                                                		closeBtn	: false,
                                                                                                                		width       : '70%',
                                                                                                                                height	: '70%',
                                                                                                                		openEffect	: 'elastic',
                                                                                                                    	        closeEffect	: 'elastic',
                                                                                                                		hideOnContentClick:false,
                                                                                                                		titleShow:false,
                                                                                                                                helpers: {
                                                                                                                                   overlay: {
                                                                                                                                      locked: false
                                                                                                                                                 },
                                                                                                                		   title:      {
                                                                                                                			type: 'outside'
                                                                                                                			         }
                                                                                                                    }
                                                                                                                });
                                                                                                                }
                                                                                                                });
                                                                                                                Само собой кнопка вызова формы имеет класс fansy, a на странице подключен стиль и скрипт fancyapps.com/
                                                                                                                  Sergey Boev
                                                                                                                  30 декабря 2016, 07:05
                                                                                                                  0
                                                                                                                  Доброе утро.
                                                                                                                  У меня не работает отправка писем на почту о новых отзывах и тд. Как и где мне настроить необходимые параметры, чтобы все работало верно?
                                                                                                                    Любовь
                                                                                                                    03 января 2017, 15:47
                                                                                                                    0
                                                                                                                    Есть ли возможность выводить комментарии в случайном порядке? Или сделать для каждого комментария свой шаблон вывода?
                                                                                                                      Артём
                                                                                                                      14 февраля 2017, 15:40
                                                                                                                      +1
                                                                                                                      Здравствуйте! Подскажите, можно ли реализовать выставление нескольких рейтингов, например: 1 — сервис, 2 — качество, 3 — цена? И чтобы была сумма отдельно групповых оценок и итоговая оценка, реально ли реализовать?
                                                                                                                        Наумов Алексей
                                                                                                                        14 февраля 2017, 15:48
                                                                                                                        0
                                                                                                                        Добрый день. «Из коробки» нет такой возможности. Вы можете добавить через плагин доп поля для хранения нужных вам рейтингов, но всю их обработку придется производить самостоятельно.
                                                                                                                        exist17
                                                                                                                        02 марта 2017, 12:59
                                                                                                                        0
                                                                                                                        Доброго дня!
                                                                                                                        У меня компонент используется для вывода более 100 000 сообщений. Все они находятся в одной цепочке. Конечно же используется пагинация, выводится все через pdoPage. В каждом сообщении выводится id-шник, это как бы «номер вопроса». Поток вопросов довольно большой, поэтому пользователям нужна возможность находить свой вопрос по его номеру. В идеале бы генерировать алиас для каждого сообщения и иметь возможность вывести сообщение как ресурс MODX, чтобы на него можно было ссылаться. Скажите, как бы вы это реализовали?
                                                                                                                        Спасибо.
                                                                                                                          Наумов Алексей
                                                                                                                          02 марта 2017, 15:41
                                                                                                                          +1
                                                                                                                          Добрый день.

                                                                                                                          Я бы взял VirtualPage, настроил в нем правило для страниц типа /message/XXX/, где XXX — id сообщения, и дальше уже вроде все понятно… конкретная реализация — на ваше усмотрение, но в целом это абсолютно реализуемо.
                                                                                                                            exist17
                                                                                                                            02 марта 2017, 20:51
                                                                                                                            0
                                                                                                                            Очень интересный компонент. Похоже, именно то что нужно! Спасибо!
                                                                                                                              Наумов Алексей
                                                                                                                              02 марта 2017, 21:15
                                                                                                                              0
                                                                                                                              Думаю, что да. Я уже на 2-х сайтах по данному сценарию его использую, все ок.
                                                                                                                          Denis
                                                                                                                          13 марта 2017, 11:39
                                                                                                                          0
                                                                                                                          Добрый день.
                                                                                                                          А есть ли возможность добавлять фото к отзыву?
                                                                                                                          Или можно её реализовать.
                                                                                                                          Сергей
                                                                                                                          14 марта 2017, 02:31
                                                                                                                          0
                                                                                                                          Добрый день, Алексей!
                                                                                                                          После создания доп. полей по твоей инструкции, по-умолчанию они не сохраняются в базе через форму на сайте (в админке редактирование/сохранение работает).
                                                                                                                          Сохраняется только при добавлении их в allowedFields при вызове сниппета формы. В доках этот момент не описан. Или я что-то не верно делаю?
                                                                                                                            Наумов Алексей
                                                                                                                            14 марта 2017, 08:50
                                                                                                                            0
                                                                                                                            Да не, все верно. Про allowedFields в заметке видимо упустил.
                                                                                                                            Заработало все в итоге?
                                                                                                                              Сергей
                                                                                                                              14 марта 2017, 08:53
                                                                                                                              0
                                                                                                                              Да, заработало.
                                                                                                                            Александр Иванов
                                                                                                                            29 марта 2017, 11:00
                                                                                                                            0
                                                                                                                            Вам бы стоило нормально документацию здесь переписать:
                                                                                                                            docs.modx.pro/components/easycomm/

                                                                                                                            А то ты его покупаешь, а потом нескольким веткам начинаешь собирать инфу о его работе.
                                                                                                                            При таком раскладе можно было tikets использовать, и заниматься тем же самым.

                                                                                                                            Ещё очень не понравилось то, что CSS дефолтный отключить нельзя, что загрузить его отдельно и подогнать под speedtest google
                                                                                                                              Наумов Алексей
                                                                                                                              29 марта 2017, 11:13
                                                                                                                              0
                                                                                                                              Документация процентов на 90 актуальная, но все равно исправить ее в планах.

                                                                                                                              CSS отключается, есть соответствующая настройка, прям первая на странице.
                                                                                                                                Александр Иванов
                                                                                                                                29 марта 2017, 12:29
                                                                                                                                0
                                                                                                                                Спасибо!

                                                                                                                                В версии 1.1.1-pl добавил возможность автопубликации сообщений, такие просьбы были.
                                                                                                                                А где это можно сделать?

                                                                                                                                Как вариант на будущее:
                                                                                                                                css-tricks.com/examples/StarRating/
                                                                                                                                  Александр Иванов
                                                                                                                                  29 марта 2017, 12:55
                                                                                                                                  0
                                                                                                                                  И последнее как вывести черерзз ecThreadRating rating_simple?
                                                                                                                                  А то уже начали писать ecThreadRatingCustom
                                                                                                                                    Александр Иванов
                                                                                                                                    29 марта 2017, 13:06
                                                                                                                                    -1
                                                                                                                                    Ответа от вас нет.
                                                                                                                                    Сделал так
                                                                                                                                    продублировал ecThreadRatingCustom и заменил rating_wilson
                                                                                                                                    array(
                                                                                                                                            'rating_wilson_percent' => number_format($thread->get('rating_simple') / $ratingMax * 100, 3),
                                                                                                                                            'rating_simple_percent' => number_format($thread->get('rating_simple') / $ratingMax * 100, 3),
                                                                                                                                        )
                                                                                                                                    Это не круто вообще но это бытсрее чем найти ответ в документации которой по рейтингу нет.
                                                                                                                                      Наумов Алексей
                                                                                                                                      29 марта 2017, 14:15
                                                                                                                                      +1
                                                                                                                                      Вопрос мне не понятен, и смысл вашей замены я тоже не понял.
                                                                                                                                      Я вижу перед собой 2 одинаковые строчки и чем они должны различаться — не ясно.
                                                                                                                                        Алексей Федоров
                                                                                                                                        29 марта 2017, 18:26
                                                                                                                                        0
                                                                                                                                        То есть вызвать плейсхолдер [[+rating_simple]] уже не торт? И он есть в документации --_--
                                                                                                                                  Максим
                                                                                                                                  17 апреля 2017, 20:59
                                                                                                                                  0
                                                                                                                                  Всем привет! Пробую задать e-mail получателя:
                                                                                                                                  [[!ecForm?
                                                                                                                                      					   &mailManager=`info@yandex.ru`
                                                                                                                                      					   &ec_mail_from_name=`info@site.ru`
                                                                                                                                      					   &ec_mail_new_subject_manager=`Новый отзыв с сайта site.ru`
                                                                                                                                      					   &tplForm=`tpl.FormReviews`
                                                                                                                                      					]]
                                                                                                                                  Письма не приходят, если поменять почту в системе сайта на info@yandex.ru, все работает. В чем трабл. Может кто подскажет?
                                                                                                                                    Сергей
                                                                                                                                    17 апреля 2017, 21:02
                                                                                                                                    0
                                                                                                                                    &ec_mail_manager
                                                                                                                                      Максим
                                                                                                                                      17 апреля 2017, 21:04
                                                                                                                                      0
                                                                                                                                      Пробовал и так, не приходят(. И первом и втором случае приходят только отправителю отзывы, админу нет(
                                                                                                                                      Наумов Алексей
                                                                                                                                      17 апреля 2017, 21:32
                                                                                                                                      0
                                                                                                                                      ec_mail_from, ec_mail_from_name — это системные настройки, а не параметры сниппета.

                                                                                                                                      Если проверить отправку почты через QuickEmail, письма приходят? Может дело в настройке почты именно сайта, а не компонента?
                                                                                                                                        Максим
                                                                                                                                        17 апреля 2017, 21:54
                                                                                                                                        0
                                                                                                                                        Проблема решилась настройкой smtp
                                                                                                                                          Jaz75RUS
                                                                                                                                          24 апреля 2017, 08:16
                                                                                                                                          0
                                                                                                                                          modx.pro/solutions/7446-join-easycomm-and-mfilter2/
                                                                                                                                          это бы в доки добавить, а то долго искал) Спасибо за сниппет, шикарная вещь)

                                                                                                                                          Единственное не совсем понял, через плейсхолдер [[+rating]] выводится рейтинг в цифре, где его чанк оформления или как вместо него вывести рейтинг в звездах?
                                                                                                                                            Наумов Алексей
                                                                                                                                            24 апреля 2017, 10:02
                                                                                                                                            +1
                                                                                                                                            1. Плохо искали))) docs.modx.pro/components/easycomm/standard-solutions-and-frequently-asked-questions
                                                                                                                                            не давно добавил ссылку в документацию.
                                                                                                                                            2. Для вывода в звездах смотрите, как это сделано в стандартных чанках, там используется конструкция
                                                                                                                                            style="width:[[+rating_persent]]%"
                                                                                                                                            которая позволяет задать ширину блока со звездами
                                                                                                                                              Jaz75RUS
                                                                                                                                              24 апреля 2017, 10:54
                                                                                                                                              0
                                                                                                                                              Спасибо за ответ, плейсхолдер [[+rating_persent]] должен выводить процент рейтинга я так понимаю, пока че то не хочет =(
                                                                                                                                                Наумов Алексей
                                                                                                                                                24 апреля 2017, 11:04
                                                                                                                                                +1
                                                                                                                                                А, если вы делаете JOIN — то конечно его не будет.

                                                                                                                                                Нужна хитрость, добавить в select поле, которое вычислить через запрос, как (rating * 20), что как раз составит проценты, т.к. максимальный рейтинг 5 — это 100%, значит текущий это (X *100) / 5 = (X * 20).
                                                                                                                                                  Jaz75RUS
                                                                                                                                                  24 апреля 2017, 11:07
                                                                                                                                                  0
                                                                                                                                                  ок спасибо, разберусь)
                                                                                                                                                    Jaz75RUS
                                                                                                                                                    24 апреля 2017, 11:40
                                                                                                                                                    0
                                                                                                                                                    вы не могли бы все же показать пример поля в селекте, и плейсхолдер вывода в превьюшке, я на эти эксперементы еще пол дня убью) Думаю многим это поможет, вопрос наверняка частый)))
                                                                                                                                                      Наумов Алексей
                                                                                                                                                      24 апреля 2017, 12:06
                                                                                                                                                      0
                                                                                                                                                      Как-то вот так должен выглядеть select:
                                                                                                                                                      &select=`{"ecThread": "ecThread.rating_simple * 20 AS rating"}`
                                                                                                                                                      Проверить на живом примере я сейчас, к сожалению, не могу. Если совсем не получается -можете доступ к сайту дать, я там настрою.
                                                                                                                                                        Jaz75RUS
                                                                                                                                                        24 апреля 2017, 13:09
                                                                                                                                                        0
                                                                                                                                                        спасибо что отвечаете))
                                                                                                                                                        селект в filters такой:
                                                                                                                                                        &select=`{
                                                                                                                                                        «msProduct»: "*",
                                                                                                                                                        «ecThread»: «ecThread.rating_simple * 20 AS rating, ecThread.count AS reviews»
                                                                                                                                                        }`

                                                                                                                                                        в чанке tpl.msProducts.row так:

                                                                                                                                                        [[+rating_simple]] — ничего
                                                                                                                                                        [[+rating_percent]] — ничего
                                                                                                                                                        [[+rating_simple_percent]] — ничего
                                                                                                                                                        [[+rating]] — число рейтинга (3 звезды) умноженное на 20, т.е. 60.000000
                                                                                                                                                          Jaz75RUS
                                                                                                                                                          24 апреля 2017, 13:32
                                                                                                                                                          0
                                                                                                                                                          нули нужно убирать или css на них пофиг?)
                                                                                                                                                          Дальше по идее все должно заработать на стилях ec-stars
                                                                                                                                                            Наумов Алексей
                                                                                                                                                            24 апреля 2017, 14:08
                                                                                                                                                            0
                                                                                                                                                            В базе 2 поля: rating_simple и rating_wilson, мы выбрали rating_simple под именем rating просто.

                                                                                                                                                            60.0000 — это корректное значение процентов для css, можно использовать его.
                                                                                                                                                              Jaz75RUS
                                                                                                                                                              24 апреля 2017, 15:22
                                                                                                                                                              0
                                                                                                                                                              да, все заработало, большое спасибо за помощь, отличное дополнение, куплю еще на один сайт)
                                                                                                                                          Николай
                                                                                                                                          29 апреля 2017, 15:33
                                                                                                                                          0
                                                                                                                                          Добрый день, а работает ли компонент с товарами в отдельной таблице migx?
                                                                                                                                            Наумов Алексей
                                                                                                                                            01 мая 2017, 18:13
                                                                                                                                            +1
                                                                                                                                            Да, только параметр thread нужно сделать уникальным каким-либо образом для каждого товара, например можно использовать комбинацию id ресурса + idx от migx (типа page-6-product-12).
                                                                                                                                            Николай
                                                                                                                                            29 апреля 2017, 15:34
                                                                                                                                            0
                                                                                                                                            И еще вопрос, при загрузке/выгрузке товаров, когда они автоматом создаются/удаляются, как можно удалять ветки комментариев?
                                                                                                                                            Может можно привязать не к id товара, а к alias?
                                                                                                                                              Наумов Алексей
                                                                                                                                              01 мая 2017, 18:14
                                                                                                                                              0
                                                                                                                                              оперируйте объектом ecThread, удаляйте его в нужный момент, все привязанные к цепочке сообщения удаляться автоматически.

                                                                                                                                              Создавать не обязательно, он создается при первом вызове сниппета ecForm.
                                                                                                                                                Николай
                                                                                                                                                01 мая 2017, 23:33
                                                                                                                                                0
                                                                                                                                                установил, пока тестирую, все удобно и настраивается легко.

                                                                                                                                                Вот чего не нашел — это возможности передать кастомный урл в снипет ecMessages, чтобы в админке можно было на ресурс перейти.
                                                                                                                                                Например, у меня товары в таблице migx. У них также есть свои страницы и урл.
                                                                                                                                                Я могу передать относительный урл к ресурсу в виде /category/tovar.html (site_url уже из системных параметров брать). Если не затруднит, не могли бы добавить такой функционал?
                                                                                                                                                Простите за наглость))
                                                                                                                                                  Наумов Алексей
                                                                                                                                                  02 мая 2017, 09:41
                                                                                                                                                  0
                                                                                                                                                  Не оч понял суть вопроса…
                                                                                                                                                  нужен более детальный пример.
                                                                                                                                                    Николай
                                                                                                                                                    02 мая 2017, 10:09
                                                                                                                                                    0
                                                                                                                                                    Итак, у меня товары хранятся в своей таблице.
                                                                                                                                                    У каждого товара есть следующие поля:
                                                                                                                                                    article — уникальный номер товара
                                                                                                                                                    alias — ссылка относительно категории
                                                                                                                                                    category_id — id категории. Категория это обычный ресурс modx.

                                                                                                                                                    Я хочу сделать отзывы к товарам на странице каждого товара. На странице товара вызываю ecForm
                                                                                                                                                    с параметром thread = [[*article]]. Во фронтенде все работает отлично, а вот бекенде — нет.

                                                                                                                                                    В качестве ресурса в админке сейчас получается просто один из ресурсов modx с тем же id, что и у товара, что конечно не корректно. Т.е. из админки, при клике перейти к ресурсу с комментарием во фронтенде забрасывает вообще на другой документ и то же самое в бекенде.

                                                                                                                                                    Я в код не влезал, но предполагаю, что в снипете автоматом генерится ссылка на ресурс по id.

                                                                                                                                                    А хотелось бы, для таких ситуаций, как у меня, иметь возможность самому передавать эту ссылку. Причем передавать разные ссылки для перехода в бекенд и фронтенд.

                                                                                                                                                    Я предлагаю добавить в снипет ecForm, например такой параметр — &customFrontUrl- в него можно будет передать такую конструкцию:
                                                                                                                                                    &customFrontUrl=[[~[[*category_id]]? &scheme=`abs`]]/[[*alias]]
                                                                                                                                                    , чтобы сформировать ссылку на товар с комментарием в виде:
                                                                                                                                                    &frontUrl=`/category_1/category_2/tovar_1.htm`
                                                                                                                                                    Тогда из бекенда можно будет заходить на товар во фронтенде.

                                                                                                                                                    И еще параметр &customBackId- сюда можно забрасывать id категории, чтобы формировалась ссылку уже на ресурс в бекенде, к которому привязана таблица modx с товарами.
                                                                                                                                                      Наумов Алексей
                                                                                                                                                      02 мая 2017, 11:20
                                                                                                                                                      0
                                                                                                                                                      Понял суть…

                                                                                                                                                      Нужно подумать, ваше решение не самый гуд, вам будет удобно, многим другим пользователям — будет мешать или у них будет свой вариант реализации.

                                                                                                                                                      Сейчас да, в админке «Перейти к ресурсу с комментарием» открывает ресурс, к которому привязан ecThread.

                                                                                                                                                      Постараюсь поразмыслить, чтобы сделать красивое решение.
                                                                                                                                                        Николай
                                                                                                                                                        02 мая 2017, 11:25
                                                                                                                                                        0
                                                                                                                                                        Нет, для простых пользователей ничего не надо менять, у вас все отлично работает.

                                                                                                                                                        Я предлагаю сделать проверку, что если &customFrontUrl или &customBackId не заданы, то у вас все формируется как сейчас, а если заданы, то урл из них берется.
                                                                                                                                                        Или вы так и поняли и я зря пишу?))
                                                                                                                                                          Наумов Алексей
                                                                                                                                                          02 мая 2017, 11:43
                                                                                                                                                          +1
                                                                                                                                                          Суть предложения понял, но 2 доп параметра для формирования + видимо поле в базе не очень хочется создавать для довольно простой вещи, нужно подумать :)
                                                                                                                                                            Николай
                                                                                                                                                            02 мая 2017, 13:58
                                                                                                                                                            0
                                                                                                                                                            Согласен, поля в базу придется добавлять))

                                                                                                                                                            Сейчас можно сделать, чтобы бы id ресурса можно было передавать.

                                                                                                                                                            Те у кого товары в migx, а категории в ресурсах будут передавать сюда id нужной под категории.
                                                                                                                                                            И внутри через makeUrl будет уже часть ссылки /category_1/category_2/. Внутри категории товар проще найти, чем вообще в другом месте.

                                                                                                                                                            Более того, есть побочный плюс — форму с комментарием на одном ресурсе повесить можно будет, а комментарии в буду выводить на том, к который указан к форме, например.
                                                                                                                                                              Николай
                                                                                                                                                              02 мая 2017, 14:00
                                                                                                                                                              0
                                                                                                                                                              Как вариант, можно в системные настройки добавлять параметры пакета migx (название класса и т.п.) и принцип формирования урл на основе этих данных.

                                                                                                                                                              Дальше, в админке добавлять пакет migx.
                                                                                                                                                              По переданному id отыскивать товар в таблице. Вытягивать у него все поля для формирования урл, например — alias (у кого-то может быть другое название) и id категории (ресурс модх).
                                                                                                                                                              И по шаблону
                                                                                                                                                              modx->makeUrl($category_id).'/'.$alias.$urlSuffix
                                                                                                                                                              $urlSuffix брать из настроек modx

                                                                                                                                                                Наумов Алексей
                                                                                                                                                                02 мая 2017, 15:52
                                                                                                                                                                0
                                                                                                                                                                Привязывать один компонент к другому — совсем плохая идея, завтра выйдет альтернатива MIGX, и что мы будем делать? Привязываться ко второму компоненту? Нужно более универсальное решение.
                                                                                                                                                                  Николай
                                                                                                                                                                  02 мая 2017, 17:09
                                                                                                                                                                  0
                                                                                                                                                                  К migx привязки не нужно.

                                                                                                                                                                  migx ведь по сути только обертка для создания своих таблиц и класса с описанием для товаров. Любая своя таблица с товарами будет именно по такому принципу формироваться, какой бы компонент ее не строил.

                                                                                                                                                                  Важно только, чтобы человек указал название класса и пакета со своими товарами.
                                                                                                                                                                  А дальше уже подключать пакет через adPackage и доступ к таблице через класс.
                                                                                                                                              Николай
                                                                                                                                              04 мая 2017, 22:51
                                                                                                                                              0
                                                                                                                                              Добрый день! Скажите, а через AjaxSnippet нельзя ecForm вызвать получится?
                                                                                                                                              Хотел сделать по клику:
                                                                                                                                              [[!AjaxSnippet?
                                                                                                                                               	&snippet=`ecForm`
                                                                                                                                              	&thread=`[[*thread]]`
                                                                                                                                                    &as_mode=`onclick`
                                                                                                                                                   &as_trigger=`Написать сообщение`
                                                                                                                                              ]]
                                                                                                                                              Форма отображается, но не скрывается скрытое поле и голосование не работает. Похоже jquery.form.js не срабатывает.
                                                                                                                                                Наумов Алексей
                                                                                                                                                05 мая 2017, 09:15
                                                                                                                                                0
                                                                                                                                                Скрипты и стили компонента в этом случае подключите вручную.
                                                                                                                                                Вам потребуются:
                                                                                                                                                1. сами jquery.js, jquery.forms.js
                                                                                                                                                2. /assets/components/easycomm/css/web/ec.default.css
                                                                                                                                                3. /assets/components/easycomm/js/web/ec.default.js

                                                                                                                                                Пункты 2 и 3 подключаются через regClientJs/CSS, при вызове через AjaxSnippet этого не происходит.
                                                                                                                                                  Николай
                                                                                                                                                  06 мая 2017, 11:14
                                                                                                                                                  0
                                                                                                                                                  Стили подключаются все в порядке.
                                                                                                                                                  Но JS не срабатывает, хотя и подключил ec.default.js. Скорее всего JS внутри Ajax работать не будет.
                                                                                                                                                    Наумов Алексей
                                                                                                                                                    09 мая 2017, 20:03
                                                                                                                                                    0
                                                                                                                                                    В стандартном файле инициализация работает так:
                                                                                                                                                    jQuery(document).ready(function(){
                                                                                                                                                        easyComm.initialize();
                                                                                                                                                    });
                                                                                                                                                    вызовите easyComm.initialize() после загрузки блока через ajax.
                                                                                                                                                      Николай
                                                                                                                                                      10 мая 2017, 22:58
                                                                                                                                                      0
                                                                                                                                                      Алексей, спасибо за наводку.
                                                                                                                                                      Итого:

                                                                                                                                                      1. Подключил /assets/components/easycomm/css/web/ec.default.css
                                                                                                                                                      2. Подключил /assets/components/easycomm/js/web/ec.default.js
                                                                                                                                                      3. Добавил в шаблон формы конструкцию:
                                                                                                                                                      <script type="text/javascript" >
                                                                                                                                                      	$(document).on('as_complete', document, function(e,d) {
                                                                                                                                                      		easyComm.initialize();
                                                                                                                                                      	});
                                                                                                                                                      	</script>
                                                                                                                                                      4. Добавил в шаблон товара вызов
                                                                                                                                                      [[!AjaxSnippet?
                                                                                                                                                       	&snippet=`ecForm`
                                                                                                                                                      	&thread=`[[*thread]]`
                                                                                                                                                            &as_mode=`onclick`
                                                                                                                                                           &as_trigger=`Написать сообщение`
                                                                                                                                                      ]]
                                                                                                                                                      Все вроде работает.
                                                                                                                                                        Николай
                                                                                                                                                        11 мая 2017, 22:58
                                                                                                                                                        0
                                                                                                                                                        Рано порадовался сообщения не оставляются. Пришлось откатить((
                                                                                                                                                          Наумов Алексей
                                                                                                                                                          12 мая 2017, 09:41
                                                                                                                                                          0
                                                                                                                                                          Напишите ссылку сайт в личном сообщении, в профиле есть, посмотрю хоть.
                                                                                                                                                          Наумов Алексей
                                                                                                                                                          15 мая 2017, 09:03
                                                                                                                                                          +1
                                                                                                                                                          Нашел проблему!

                                                                                                                                                          При обычном вызове сниппета ecForm в head сайта добавляется js код с конфигом компонента.
                                                                                                                                                          При вызове через AjaxSnippet этого не происходит.
                                                                                                                                                          Таким образом при отправке формы выскакивает js ошибка из-за не найденного конфига, выполнение скрипта прекращается, форма банально обновляет страницу.

                                                                                                                                                          Найдите подходящий вам способ добавить конфиг компонента на страницу при вызове через AjaxSnipet.
                                                                                                                                                Maxim Erzh
                                                                                                                                                09 мая 2017, 20:14
                                                                                                                                                0
                                                                                                                                                Здравствуйте, jquery.js и jquery.form.js подключил, но все равно выходит ошибка Can`t find jQuery ajaxForm plugin!
                                                                                                                                                В чем может быть проблема?
                                                                                                                                                  Наумов Алексей
                                                                                                                                                  09 мая 2017, 20:42
                                                                                                                                                  0
                                                                                                                                                  В неверном подключении jquery.form.js, иного варианта не вижу
                                                                                                                                                    Maxim Erzh
                                                                                                                                                    09 мая 2017, 21:56
                                                                                                                                                    0
                                                                                                                                                    а как правильно подключить? я проверю, не первый раз скрипты подключаю вроде)
                                                                                                                                                      Наумов Алексей
                                                                                                                                                      10 мая 2017, 08:39
                                                                                                                                                      0
                                                                                                                                                      Да как обычно, в head или внизу страницы.

                                                                                                                                                      Просто пути проверьте, что если у вас сайт по https работает, то и скрипт также подключен, что он раньше подключен, чем скрипты easyComm.
                                                                                                                                                        Maxim Erzh
                                                                                                                                                        10 мая 2017, 09:14
                                                                                                                                                        0
                                                                                                                                                        спасибо, разобрался, в последовательности подключения библиотеки jquery и jquery.form.js была проблема.
                                                                                                                                                  Maxim Erzh
                                                                                                                                                  10 мая 2017, 18:36
                                                                                                                                                  0
                                                                                                                                                  Прочитав все сообщения, связанные с выводом рейтинга, я разместил на странице следующее [[+thread_count]], [[+thread_rating_simple]], [[+thread_rating_wilson]]

                                                                                                                                                  Но рейтинга нет, сколько нужно минимально комментов для того чтобы выводился рейтинг или проблема не в этом?

                                                                                                                                                    Наумов Алексей
                                                                                                                                                    10 мая 2017, 20:50
                                                                                                                                                    0
                                                                                                                                                    Для начала, про какой сниппет идет речь? Если ecMessages, то читайте описание параметра tplWrapper
                                                                                                                                                      Maxim Erzh
                                                                                                                                                      11 мая 2017, 14:17
                                                                                                                                                      0
                                                                                                                                                      Мне нужно вывести на странице с комментариями отдельно шкалу рейтинга общую
                                                                                                                                                  Сергей
                                                                                                                                                  17 мая 2017, 13:27
                                                                                                                                                  0
                                                                                                                                                  Добрый день!
                                                                                                                                                  Можно отзывам добавить метку (например мастера) и по ней выводить. Я хочу сделать у каждой услуги возможность добавлять отзывы с выбором мастера и у каждого мастера вывести все отзывы о нем и его услугах.
                                                                                                                                                    Наумов Алексей
                                                                                                                                                    17 мая 2017, 14:11
                                                                                                                                                    0
                                                                                                                                                    Т.е. отзывы и по услугам и по мастерам?

                                                                                                                                                    Можно, будет одна основная категория (услуга, например) — это просто стандартный функционал.

                                                                                                                                                    А мастер — уже поколдовать нужно будет, или создайте новое поле или используйте существующее, например subject для связи с нужным вам мастером.
                                                                                                                                                      Сергей
                                                                                                                                                      17 мая 2017, 14:33
                                                                                                                                                      0
                                                                                                                                                      Нет отзывы будут писаться по услугам а выводиться у мастеров и у самой услуги, у мастеров выводиться будут по выбранному мастеру, при написании отзыва на странице услуги. Грубо говоря вывести не по цепочке а по метке (мастеру выбранному при написании отзыва)
                                                                                                                                                  Сергей
                                                                                                                                                  18 мая 2017, 15:33
                                                                                                                                                  0
                                                                                                                                                  Вопрос + предложение.
                                                                                                                                                  1. Google Recaptcha — api подгружается. Как вывести — не понятно (и есть ли она)

                                                                                                                                                  2. Сделайте настройку для возможности вывода скриптов перед закрывающим тегом body, а еще лучше — с возможностью запихнуть их в плейсхолдер. Очень парит, если скрипты на всём проекте — в подвале, а на страницах с сообщениями — в шапке.

                                                                                                                                                  3. CSS — добавьте пожалуйста возможность отмены вывода / замены
                                                                                                                                                    Наумов Алексей
                                                                                                                                                    18 мая 2017, 16:32
                                                                                                                                                    0
                                                                                                                                                    1. Не понял? Сейчас поддержки Google Recaptcha нет вообще… но, я подумаю, дабы ее добавить! Хорошая мысль!
                                                                                                                                                    2. Скрипты имеем ввиду конфиг компонента? Подумаем…
                                                                                                                                                    3. Вообще не понял, о чем речь :)
                                                                                                                                                      Сергей
                                                                                                                                                      19 мая 2017, 16:57
                                                                                                                                                      0
                                                                                                                                                      3. — в сниппет подгружает ваш default.css.
                                                                                                                                                      Его приходится переопределять своими стилями в большинстве случаев, поэтому есть смысл сделать возможность отключения его подгрузки опцией сниппета

                                                                                                                                                      а рекапча — да… очень не помешала бы, тем более, что настройки для ее подключения по умолчанию есть в системе.
                                                                                                                                                  Доброго времени. Возник вопрос: при мультиязычном сайте на трех контекстах для перевода использую словари (управление словарями — easycomm), при этом элементы формы все переводятся но сообщения об ошибке нет, почему?)

                                                                                                                                                  На примере!
                                                                                                                                                  При пустом поле на:
                                                                                                                                                  — русской версии: «Ваше имя» выводит сообщение «Вы не указали Ваше имя»;
                                                                                                                                                  — английской версии: «Your name» выводит сообщение «Вы не указали Ваше имя»( а должно «You did not enter your name»);
                                                                                                                                                  При этом в управлении словарями все переведено.
                                                                                                                                                    Наумов Алексей
                                                                                                                                                    29 мая 2017, 15:45
                                                                                                                                                    0
                                                                                                                                                    Версия компонента свежая?
                                                                                                                                                    Помню, некоторое время назад была такая проблема, не было переключения контекста в action, мы исправляли этот момент.
                                                                                                                                                      Две строчки кода) Я просто допилил немного компонент, вывожу еще дату ответа, и дату редактирования ответа, если редактирование было. Добавил проверку поля почты, раньше можно было вводить что душе угодно. :)
                                                                                                                                                    vsevolod
                                                                                                                                                    30 мая 2017, 00:23
                                                                                                                                                    0
                                                                                                                                                    Здравствуйте, мне нужно реализовать вывод отзывов со всех ресурсов на одной странице ресурсов будет много так как рейтинг привязан к каждой статье, то есть при создании новой статьи будет добавляться еще одна цепочка. Читал выше вы отвечали на подобное пожелание — Скопируйте сниппет ecMesasges, в нем найдите обработку параметра $thread, начиная со строки
                                                                                                                                                    $thread = $modx->getOption('thread', $scriptProperties, ''); и немного ниже, удалите.

                                                                                                                                                    После чего еще ниже найдите

                                                                                                                                                    $where = array('`Thread`.`name`' => $thread->get('name')); и поменяйте на

                                                                                                                                                    $where = array(); по идее все
                                                                                                                                                    но либо я чего то не понимаю либо для моих потребностей совсем вариант не подходит но при удалении $thread = $modx->getOption('thread', $scriptProperties, ''); этой части сообщения совсем перестают выводиться да и вывод не понятно можно ли вывести все стандартно [[ecMessagesMay?
                                                                                                                                                    ]] таким образом? Заранее благодарен за помощь или ответ.
                                                                                                                                                      Наумов Алексей
                                                                                                                                                      30 мая 2017, 09:22
                                                                                                                                                      0
                                                                                                                                                      Ну в документации написано же все: docs.modx.pro/components/easycomm/snippets, сниппет ecMessages, подраздел Параметры сниппета, 2-й параметр threads.
                                                                                                                                                        vsevolod
                                                                                                                                                        31 мая 2017, 12:00
                                                                                                                                                        0
                                                                                                                                                        Здравствуйте я читал документацию и видел вот это описание — thread resource-[[*id]] Имя цепочки сообщений. Должно быть уникальным. thread resource-[[*id]] Имя цепочки сообщений.----- Но вот в чем дело на каждом ресурсе создается уникальный id и выводиться несколько последних отзывов к каждой статье склолько будет ресурсов за время работы неизвестно иногда статья добавляеться раз в неделю, а иногда и по три за день и создаються новые уникальные id цепочки и вот здесь я и не пойму как вывести все отзывы со всех ресурсов статей на отдельную страницу отзывы неужели после добавления каждой статьи править шаблон добавляя новый id для вывода? или все же можно как то автоматом выводить? Заранее благодарен за ответ и прошу прощения если это все же глупый вопрос возможно по моему недопониманию, но сколько я не бьюсь с этой задачей никак пока не могу понять ее реализацию.
                                                                                                                                                          Наумов Алексей
                                                                                                                                                          31 мая 2017, 14:25
                                                                                                                                                          0
                                                                                                                                                          threads — Список цепочек, из которых необходимо выводить сообщения, через запятую (например «resource-1,resource-2»). Укажите *, что бы вывести сообщения из всех цепочек. Параметр имеет приоритет над параметром thread.

                                                                                                                                                          Таким образом эта конструкция выведет все сообщения из всех цепочек (ну точнее, последние 10 штук, т.к. limit=10 по-умолчанию):

                                                                                                                                                          [[!ecMessages?
                                                                                                                                                          &threads=`*`
                                                                                                                                                          ]]
                                                                                                                                                            vsevolod
                                                                                                                                                            31 мая 2017, 15:21
                                                                                                                                                            0
                                                                                                                                                            Огромное спасибо сейчас поэксперементирую.
                                                                                                                                                      Konstantin
                                                                                                                                                      20 июня 2017, 20:04
                                                                                                                                                      0
                                                                                                                                                      Алексей
                                                                                                                                                      А как можно вывести не все или какое-то количество сообщений из цепочки, а конкретные например по id?
                                                                                                                                                        Наумов Алексей
                                                                                                                                                        21 июня 2017, 09:38
                                                                                                                                                        0
                                                                                                                                                        Может простой сниппет с getObject сделать просто?

                                                                                                                                                        ecMessages пока не умеет выводить по id, попробую на днях «научить».
                                                                                                                                                          Konstantin
                                                                                                                                                          21 июня 2017, 09:43
                                                                                                                                                          0
                                                                                                                                                          Ну, я выбираю нужные сообщения с помощью where по ключевым словам. Написал из интереса, мне казалось, что такая функция есть по умолчанию — везде.
                                                                                                                                                            Rus
                                                                                                                                                            Rus
                                                                                                                                                            23 июня 2017, 00:57
                                                                                                                                                            0
                                                                                                                                                            При использовании аякс пагинации
                                                                                                                                                            <div id="pdopage">
                                                                                                                                                                            <div class="rows">
                                                                                                                                                                                [[!pdoPage?
                                                                                                                                                                                    &element=`ecMessages`
                                                                                                                                                                                    &limit=`2`
                                                                                                                                                                                    &tpl=`tpl.ecMessages.Row`
                                                                                                                                                                                    &threads=`*`
                                                                                                                                                                                    &parents=`0`
                                                                                                                                                                                    &ajaxMode=`default`
                                                                                                                                                                                ]]
                                                                                                                                                                            </div>
                                                                                                                                                                            [[!+page.nav]]
                                                                                                                                                                        </div>
                                                                                                                                                            Не подгружаются стили ответа ec-message__reply. В инспекторе показывает только текст ответа. Если обновить страницу, то стили встают на место.

                                                                                                                                                            У easyComm есть решение такой проблемы?
                                                                                                                                                              Наумов Алексей
                                                                                                                                                              23 июня 2017, 09:27
                                                                                                                                                              0
                                                                                                                                                              Файлы стилей не подгружаются? Подключите все эти файлы вручную.
                                                                                                                                                              Сниппет ecMessages регистрирует css и js файлы, и если этот сниппет вызывать позже основной загрузки страницы, то и файлов не будет подключено…
                                                                                                                                                                Rus
                                                                                                                                                                Rus
                                                                                                                                                                23 июня 2017, 12:28
                                                                                                                                                                0
                                                                                                                                                                Стили подключены, но проблема остается.

                                                                                                                                                                Вот так выглядит ответ в инспекторе:


                                                                                                                                                                Если обновить страницу, то все встает на свои места:
                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                  23 июня 2017, 14:12
                                                                                                                                                                  0
                                                                                                                                                                  Ну у вас не стили не подключаются, а html код различный. При работе через ajax выглядит так, будто часть Html тегов были убраны. Либо чанки каким-то образом разные подключаются, либо что-то режет html.

                                                                                                                                                                  А, ну так там хитрая конструкция для управления выводом, еще со старым (не феном в общем) способом из pdoTools, при помощи комментариев. Что-то не могу ссылку найти. Видимо ajax режим это не обрабатывает. Можно на феном чанки переписать вам попробовать.
                                                                                                                                                                    Андрей
                                                                                                                                                                    26 июня 2017, 17:07
                                                                                                                                                                    +1
                                                                                                                                                                    Сделал просто такой чанк:

                                                                                                                                                                    <div id="ec-[[+thread_name]]-message-[[+id]]" class="ec-message">
                                                                                                                                                                        <p><strong>[[+user_name]]</strong><span class="ec-message__date"> [[+date:dateAgo]]</span></p>
                                                                                                                                                                        <p>[[+text]]</p>
                                                                                                                                                                        <div class="ec-message__reply"><strong>[[+reply_author]]</strong><p>[[+reply_text]]</p></div>
                                                                                                                                                                    </div>

                                                                                                                                                                    И всё работает.
                                                                                                                                                                      Rus
                                                                                                                                                                      Rus
                                                                                                                                                                      26 июня 2017, 17:19
                                                                                                                                                                      0
                                                                                                                                                                      Если нет ответа от админа, то поле ответа все-равно показывается. А так, да работает.
                                                                                                                                                                        Андрей
                                                                                                                                                                        26 июня 2017, 17:21
                                                                                                                                                                        1
                                                                                                                                                                        +1
                                                                                                                                                                        Можно проверку сделать:
                                                                                                                                                                        {if $reply_text}
                                                                                                                                                                        		<div class="ec-message__reply"><strong>[[+reply_author]]</strong><p>[[+reply_text]]</p></div>
                                                                                                                                                                             {/if}
                                                                                                                                                                          Rus
                                                                                                                                                                          Rus
                                                                                                                                                                          26 июня 2017, 17:26
                                                                                                                                                                          0
                                                                                                                                                                          Большое спасибо, Андрей! Все работает :-)
                                                                                                                                                            Андрей
                                                                                                                                                            27 июня 2017, 00:08
                                                                                                                                                            0
                                                                                                                                                            Вопрос к автору, можно ли убрать обязательное поле оценки при создании коммента из админки? И чтобы при создании в настройках автоматически проставлялось значение Цепочка (значение текущего ресурса).

                                                                                                                                                            А то очень неудобно проставлять и рейтинг и цепочку при создании =)
                                                                                                                                                              Наумов Алексей
                                                                                                                                                              27 июня 2017, 09:48
                                                                                                                                                              0
                                                                                                                                                              1. Поле оценка как бы является основой компонента, ради него почти все и задумывалось) Можно его прописать по-умолчанию, вот только нужно подумать, чему прописывать?.. 5 или 1?
                                                                                                                                                              2. У ресурса может быть несколько цепочек, какую из них выбрать?.. думаю, что можно искать по шаблону resource-[[*id]], и если она есть — прописывать ее, иначе — пустое поле. И естественно, что это только на странице ресурса.
                                                                                                                                                                Наумов Алексей
                                                                                                                                                                04 июля 2017, 11:03
                                                                                                                                                                +1
                                                                                                                                                                Частично сделал в версии 1.4.1.
                                                                                                                                                                Прописываются при создании сообщения — thread, при создании цепочки — resource, name.
                                                                                                                                                                Естественно, только если мы работаем на странице ресурса.

                                                                                                                                                                + можно создать системную настройку ec_rating_default для того, чтобы оценка прописывалась автоматически.
                                                                                                                                                                  Андрей
                                                                                                                                                                  04 июля 2017, 12:49
                                                                                                                                                                  0
                                                                                                                                                                  Большое спасибо! Обновился, всё работает =)
                                                                                                                                                                    Андрей
                                                                                                                                                                    05 июля 2017, 11:49
                                                                                                                                                                    0
                                                                                                                                                                    Цепочка автоматически подставляется, всё хорошо. Создал настройку — ec_rating_default, пробовал задавать разные значения, оценка автоматически не ставится ни в какую :(
                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                      05 июля 2017, 11:55
                                                                                                                                                                      +1
                                                                                                                                                                      Странно, правда не работает) Поправлю после обеда.
                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                        05 июля 2017, 14:56
                                                                                                                                                                        +1
                                                                                                                                                                        Поправил, видимо строчку кода случайно удалил, обновляемся.
                                                                                                                                                                    Сергей
                                                                                                                                                                    08 июля 2017, 12:09
                                                                                                                                                                    0
                                                                                                                                                                    Здравствуйте! Подбираю компонент для одного проекта. К отзыву необходимо еще прикреплять скан отзыва в виде изображения. Я так понимаю данный компонент не умеет это делать? Направьте пожалуйста как реализовать с помощью платных, бесплатных компонентов
                                                                                                                                                                    DeHuCkA
                                                                                                                                                                    08 июля 2017, 23:38
                                                                                                                                                                    0
                                                                                                                                                                    Здравствуйте!
                                                                                                                                                                    Установил компонент, к сожалению он не захотел работать из коробки, выдает ошибку core/components/easycomm/model/easycomm/easycomm.class.php on line 66 куда копать?
                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                      10 июля 2017, 09:14
                                                                                                                                                                      0
                                                                                                                                                                      Добрый день!

                                                                                                                                                                      А текст ошибки то? На этой строчке ничего интересного я не вижу.
                                                                                                                                                                      Александр Янк
                                                                                                                                                                      15 июля 2017, 11:54
                                                                                                                                                                      0
                                                                                                                                                                      Интересный такой баг нашел, хотел обновиться в результате получаю сообщение "Пожалуйста, выберите до какой версии обновить этот пакет:"
                                                                                                                                                                      joxi.ru/bmoORa7hMxq58m

                                                                                                                                                                      Нажимаю «обновить» и получаю ошибку «Неверные данные» joxi.ru/brR8g7bUQJERY2
                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                        17 июля 2017, 09:27
                                                                                                                                                                        0
                                                                                                                                                                        Может сам магазин не работал? Его обновляли видимо на выходных.
                                                                                                                                                                        Сергей
                                                                                                                                                                        15 июля 2017, 18:56
                                                                                                                                                                        1
                                                                                                                                                                        0
                                                                                                                                                                        Купил компонент но тех поддержка что то молчит.
                                                                                                                                                                        не работает пагинация. Вызываю через pdoPage

                                                                                                                                                                        <div id="pdopage">
                                                                                                                                                                                       [[!pdoPage?
                                                                                                                                                                                       &element=`ecMessages`
                                                                                                                                                                                       &limit=`2`
                                                                                                                                                                                       &tpl=`tpl.ecMessages.Row`
                                                                                                                                                                                       &allowedFields=`user_name,user_email,user_contacts,text`
                                                                                                                                                                                       &threads=`resource-[[*id]]`
                                                                                                                                                                                       &parents=`45`
                                                                                                                                                                                       &ajaxMode=`default`
                                                                                                                                                                                       &showLog=`1`]]
                                                                                                                                                                                    
                                                                                                                                                                                       <div id="pagination">
                                                                                                                                                                                          [[!+page.nav]]
                                                                                                                                                                                       </div>
                                                                                                                                                                                    </div>
                                                                                                                                                                        
                                                                                                                                                                        [[!ecForm]]

                                                                                                                                                                        Причём адрес в адресной строке меняется а контент нет

                                                                                                                                                                        Так же не работает настройка, что бы убрать рейтинг, тему сообщения и контактные данные. Настройки прописаны но они никак не влияют на процесс
                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                          17 июля 2017, 09:28
                                                                                                                                                                          +1
                                                                                                                                                                          Техподдержка отдыхала в субботу :)

                                                                                                                                                                          Насчет пагинации я отписался, проблем не наблюдаю у себя, странички листаются, видимо в чем-то еще загвоздка.
                                                                                                                                                                          Дмитрий
                                                                                                                                                                          18 июля 2017, 12:15
                                                                                                                                                                          0
                                                                                                                                                                          Здравствуйте, спасибо за компонент! В карточке товара все отлично выводится, вот только не могу вывести звезды в общем списке товаров. Добавляю [[!ecThreadRating? &thread=`resource-[[+id]]`]] в код tpl.msProducts.row, затем вывожу список через [[!mFilter2? &parents=`104` &element=`msProducts`&tpls=`tpl.msProducts.row,tpl.msProducts.row2 `....]] и через [[!pdoPage? &element=`msProducts` &tpl=`tpl.msProducts.row` &limit=`12` ]] Ни там, ни там не выводятся звезды
                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                            18 июля 2017, 15:22
                                                                                                                                                                            0
                                                                                                                                                                            Рейтинг у товара уже есть или пустой?

                                                                                                                                                                            У компонента был небольшой баг в том, что если объект ecThread еще не создан — то выводится пустота (вместо рейтинга 0) при вызове сниппета ecThreadRating…

                                                                                                                                                                            Наверное это оно, постараюсь пофиксить в течение дня.
                                                                                                                                                                              Дмитрий
                                                                                                                                                                              18 июля 2017, 16:24
                                                                                                                                                                              0
                                                                                                                                                                              нет, наверное не в этом, звездочки появились только после того, как я добавил [[!ecForm]] в tpl.msProducts.row… а он мне там не нужен
                                                                                                                                                                                Наумов Алексей
                                                                                                                                                                                18 июля 2017, 16:34
                                                                                                                                                                                0
                                                                                                                                                                                В этом.

                                                                                                                                                                                Вызов ecForm как раз и создает объект ecThread в базе данных.
                                                                                                                                                                            Дмитрий
                                                                                                                                                                            18 июля 2017, 16:38
                                                                                                                                                                            0
                                                                                                                                                                            если я убираю [[!ecForm]], то ониопять пропадают, а объект ведь уже должен быть в бд
                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                              19 июля 2017, 09:46
                                                                                                                                                                              0
                                                                                                                                                                              Обновил компонент, попробуйте.

                                                                                                                                                                              Если не поможет — пишите в поддержку, лучше сразу с доступами к админке, я посмотрю в чем дело.
                                                                                                                                                                                Дмитрий
                                                                                                                                                                                19 июля 2017, 13:01
                                                                                                                                                                                0
                                                                                                                                                                                нашел причину, вместе с [[!ecForm]] подключается и файл со стилями для звезд ec.default.css без которого они не отображаются
                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                  19 июля 2017, 15:05
                                                                                                                                                                                  0
                                                                                                                                                                                  Действительно, стили и скрипты при вызове этого сниппета не подключаются… возможно, стоит это исправить.
                                                                                                                                                                              artem
                                                                                                                                                                              20 июля 2017, 08:40
                                                                                                                                                                              0
                                                                                                                                                                              количество комментариев может записывать он в тв параметр? есть такая возможсть?
                                                                                                                                                                                Антон
                                                                                                                                                                                26 июля 2017, 11:35
                                                                                                                                                                                0
                                                                                                                                                                                А как можно реализовать, что бы отправлялась на две почты администратора о новом сообщение?
                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                  26 июля 2017, 12:01
                                                                                                                                                                                  0
                                                                                                                                                                                  Системная настройка ec_mail_manager, укажите 2 адреса почты через запятую
                                                                                                                                                                                  Сергей
                                                                                                                                                                                  Сергей
                                                                                                                                                                                  03 сентября 2017, 00:52
                                                                                                                                                                                  0
                                                                                                                                                                                  1. Подскажите, как добавить заголовок (например, Отзывы о товаре) над блоком отзывов, если они есть? Пробовал :default — не получилось
                                                                                                                                                                                  2. Как вывести рейтинг для каждого товара в списке товаров? Джойнить?
                                                                                                                                                                                    Сергей
                                                                                                                                                                                    Сергей
                                                                                                                                                                                    03 сентября 2017, 22:41
                                                                                                                                                                                    0
                                                                                                                                                                                    А кто-нибудь делал такое — выводить накопленный рейтинг для каждого товара в списке товаров?
                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                      04 сентября 2017, 09:34
                                                                                                                                                                                      0
                                                                                                                                                                                      Вот это почитайте: modx.pro/solutions/7446-join-easycomm-and-mfilter2/
                                                                                                                                                                                        Сергей
                                                                                                                                                                                        Сергей
                                                                                                                                                                                        04 сентября 2017, 10:40
                                                                                                                                                                                        0
                                                                                                                                                                                        Угу, помогло, СПС. Единственно, непонятно, leftJoin без alias тоже прокатывает что ли? Я джойнил доп. картинки к товарам для вывода в категории и там еще и alias прописывал.
                                                                                                                                                                                      Алексей
                                                                                                                                                                                      18 сентября 2017, 18:30
                                                                                                                                                                                      0
                                                                                                                                                                                      Алексей, подскажите, пожалуйста, сделал вывод отзывов, используя ajax пагинацию pdoPage, все бы хорошо, да почему-то стили ответа администратора ни в какую не подгружаются, выводится только текст. Убираю ajax и оставляю обычную, как все начинает работь. Пробовал element style, inline, и из внешних css файлов — ничего. Причем родные стили компонента тоже не применяются. Не сталкивались с таким поведением?
                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                        19 сентября 2017, 11:46
                                                                                                                                                                                        0
                                                                                                                                                                                        Добрый день.

                                                                                                                                                                                        При работе через аякс стили не будут подгружаться, т.к. по-умолчанию они подключатся к странице в момент вызова ecMessages, а этот момент у вас уже после того, как страница улетела в браузер.

                                                                                                                                                                                        Уберите в настройках компонента пути к файлам стилей и скриптов и подключите их вручную в шаблон сайта.
                                                                                                                                                                                          Алексей
                                                                                                                                                                                          19 сентября 2017, 12:26
                                                                                                                                                                                          0
                                                                                                                                                                                          Добрый день. Спасибо вам за ответ!

                                                                                                                                                                                          Все сделал, как вы описали, однако, проблема не решилась… Firebug показал, что блок «ec_reply_text», находящийся в чанке вывода одного отзыва, в принципе не подгружаются. Т.е. идет тег P с текстом самого отзыва (p[[+text]]/p), а сразу после него голый текст ответа без обрамляющих его тегов. А имя ответившего (сам текст) вообще не выводится, т.е. чанк «ec_reply_author» никак не отрабатывает. Но если принудительно обновить страницу (адрес-сайта.ru/категория/?page=4), то все отрабатывает, как положено. Странно.
                                                                                                                                                                                        Алексей
                                                                                                                                                                                        19 сентября 2017, 12:59
                                                                                                                                                                                        0
                                                                                                                                                                                        Алексей, решил эту проблему таким образом:

                                                                                                                                                                                        1) в чанке «tpl.ecMessages.Row» убрал заккоментированные подчанки:
                                                                                                                                                                                        <!--ec_reply_text <div class="ec-message__reply">[[+reply_author]]<p>[[+reply_text]]</p></div>-->
                                                                                                                                                                                        <!--ec_reply_author <p><strong>[[+reply_author]]</strong></p>-->

                                                                                                                                                                                        2) на основе них создал дополнительный чанк, например, «ec_reply_text» следующего содержания:
                                                                                                                                                                                        <div class="ec-message__reply"><p><strong>[[+reply_author]]</strong></p><p>[[+reply_text]]</p></div>

                                                                                                                                                                                        3) далее, в чанке «tpl.ecMessages.Row» заменил плейсхолдер [[+reply_text]] на следующего содержания:
                                                                                                                                                                                        [[+reply_text:notempty=`[[$ec_reply_text]]`]]

                                                                                                                                                                                        Теперь все работает, как надо )))), а настройку стилей и скриптов фронтэнда можно не трогать.
                                                                                                                                                                                          Aleksey
                                                                                                                                                                                          09 октября 2017, 07:47
                                                                                                                                                                                          1
                                                                                                                                                                                          0
                                                                                                                                                                                          Здравствуйте! Начинаю только осваивать Modx, подскажите как вывести аватарку в комментарии на компоненте EasyComm?
                                                                                                                                                                                            Aleksey
                                                                                                                                                                                            09 октября 2017, 08:13
                                                                                                                                                                                            1
                                                                                                                                                                                            0
                                                                                                                                                                                            Точнее аватарку ответа администратора
                                                                                                                                                                                              Aleksey
                                                                                                                                                                                              09 октября 2017, 08:51
                                                                                                                                                                                              0
                                                                                                                                                                                              Разобрался)
                                                                                                                                                                                                Артём Добряков
                                                                                                                                                                                                16 ноября 2017, 16:33
                                                                                                                                                                                                0
                                                                                                                                                                                                Ну так если разобрались, давайте решение или ссылку на него. Вдруг кому-то пригодится.

                                                                                                                                                                                                Я вот так и не нашёл как выводить Gravatar. В документации этого нету, в стандартных чанках тоже. Здесь тоже не говориться ничего.
                                                                                                                                                                                                  Viktor
                                                                                                                                                                                                  09 марта 2018, 16:30
                                                                                                                                                                                                  0
                                                                                                                                                                                                  Плейсхолдер граватара — {$gravatar}, вот только судя по коду
                                                                                                                                                                                                  $row['gravatar'] = $gravatarDefault;
                                                                                                                                                                                                      if(!empty($row['user_email'])) {
                                                                                                                                                                                                          $row['gravatar'] = 'https://www.gravatar.com/avatar/'.md5(strtolower($row['user_email'])).'?s=50';
                                                                                                                                                                                                          if(!empty($gravatarDefault)) {
                                                                                                                                                                                                              $row['gravatar'] .= '&d='.urlencode($gravatarDefault);
                                                                                                                                                                                                          }
                                                                                                                                                                                                      }
                                                                                                                                                                                                  зачем-то размер аватара прописан жестко, хотя в настройках есть параметр ec_gravatar_size. Плюс нельзя выбрать тип граватара.

                                                                                                                                                                                                  Я решил сделать вот так:
                                                                                                                                                                                                  <img src="https://www.gravatar.com/avatar/{if $user_email?}{$user_email | lower | md5}{else}{$user_name | lower | md5}{/if}?s=24&d=identicon" alt="Аватар">
                                                                                                                                                                                            Мейлис
                                                                                                                                                                                            04 декабря 2017, 12:17
                                                                                                                                                                                            0
                                                                                                                                                                                            Здравствуйте! Купил модуль, но никак не могу разобраться, как можно реализовать следующее: Если на странице нет комментариев/отзывов, то выводить сообщение («Оставьте отзыв») с кнопкой на форму, а если уже одобрили, то вместо этого сообщения («Оставьте отзыв»), список самих отзывов и также снизу кнопка на форму.
                                                                                                                                                                                              Viktor
                                                                                                                                                                                              09 марта 2018, 16:37
                                                                                                                                                                                              0
                                                                                                                                                                                              {if '!ecMessagesCount' | snippet?}
                                                                                                                                                                                              	отзывы есть, выводим их сниппетом
                                                                                                                                                                                              	{'!ecMessages' | snippet}
                                                                                                                                                                                              	кнопка на форму
                                                                                                                                                                                              	{else}
                                                                                                                                                                                              	«Оставьте отзыв»
                                                                                                                                                                                              	кнопка на форму
                                                                                                                                                                                              {/if}
                                                                                                                                                                                              скрытая форма, которая открывается кнопкой
                                                                                                                                                                                              {'!ecForm' | snippet}
                                                                                                                                                                                              Павел Б
                                                                                                                                                                                              05 декабря 2017, 13:12
                                                                                                                                                                                              0
                                                                                                                                                                                              Добрый день!
                                                                                                                                                                                              Алексей, есть возможность импорта комментариев из csv или excel?
                                                                                                                                                                                              Хочу на базе Вашего модуля сделать отзывы к товарам и импортировать их пакетно с другого ресурса…
                                                                                                                                                                                                Махмуд Ноунеймов
                                                                                                                                                                                                12 декабря 2017, 17:44
                                                                                                                                                                                                0
                                                                                                                                                                                                Приобрел решение, установил, но оно не работает…
                                                                                                                                                                                                jquery и jquery.form стоит.
                                                                                                                                                                                                Вывод компонента по дефолту:
                                                                                                                                                                                                [[!ecForm]]
                                                                                                                                                                                                [[!ecMessages]]

                                                                                                                                                                                                Подскажите плиз в чем дело?
                                                                                                                                                                                                  Андрей
                                                                                                                                                                                                  12 декабря 2017, 18:26
                                                                                                                                                                                                  0


                                                                                                                                                                                                  Как то маловато вводных данных, что значит «Не работает»? Не показывает форму, не выводит сообщения, не отправляется форма?

                                                                                                                                                                                                  Для начала посмотрите ошибки в консоли браузера, и лог ошибок modx, возможно проблема прояснится. Если ничего не получится, то пишите в техподдержку компонента.
                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                    13 декабря 2017, 09:42
                                                                                                                                                                                                    0
                                                                                                                                                                                                    Действительно :) Битва экстрасенсов ))

                                                                                                                                                                                                    Из частых проблем — еще версию php посмотрите, на 5.3, как ни странно, на некоторых хостингах были проблемы, поднятие версии их решало.
                                                                                                                                                                                                      Махмуд Ноунеймов
                                                                                                                                                                                                      13 декабря 2017, 11:00
                                                                                                                                                                                                      0
                                                                                                                                                                                                      Прошу прощения за неполное описание…
                                                                                                                                                                                                      Выводит форму, но не отправляет сообщение, после заполнения формы, просто обновляется страница, а в админке новых сообщений нет… Попробовал из админки сам написать, выводит.


                                                                                                                                                                                                      PHP 7.0, пробовал ставить разные версии, не помогло.

                                                                                                                                                                                                      Ошибок в консоле браузера нет. Зато появляются ошибки после попытки отправки сообщения в логах модх:

                                                                                                                                                                                                      [2017-12-13 10:48:52] (ERROR in modContext::makeUrl @ /home/core/model/modx/modcontext.class.php: 321) Resource with id 7 was not found in context mgr
                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                        13 декабря 2017, 11:14
                                                                                                                                                                                                        0
                                                                                                                                                                                                        Ссылку на сайт в личном сообщении через профиль на этом сайте будьте добры. Если есть возможность — то и доступ в админку туда же.
                                                                                                                                                                                                          Oleg Pimanov
                                                                                                                                                                                                          25 января 2018, 00:28
                                                                                                                                                                                                          0
                                                                                                                                                                                                          Доброй ночи! У меня вот такая же проблема возникла, при дефолтном вызове при нажатии на кнопку, страница просто перезагружается. Эту проблему удалось решить? Причем на втором сайте этот же работает нормально.
                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                            25 января 2018, 08:38
                                                                                                                                                                                                            0
                                                                                                                                                                                                            Смотрите, не возвращает ли сервер ошибки при запросе.
                                                                                                                                                                                                            Часто помогает смена версии php на более старшую.
                                                                                                                                                                                                              Oleg Pimanov
                                                                                                                                                                                                              25 января 2018, 14:18
                                                                                                                                                                                                              0
                                                                                                                                                                                                              Версию сменил на 7.0, ошибок ни сама система ни сервер не показывает
                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                              25 января 2018, 14:28
                                                                                                                                                                                                              0
                                                                                                                                                                                                              Еще стоит убедиться, что сначала подключается на странице jQuery, затем easyComm, а затем jQuery больше не подключается нигде) такие случаи были, естественно, повторное подключение jQuery полностью сбрасывает скрипты.
                                                                                                                                                                                                                Oleg Pimanov
                                                                                                                                                                                                                25 января 2018, 16:36
                                                                                                                                                                                                                0
                                                                                                                                                                                                                <head>
                                                                                                                                                                                                                <!-- Basic page needs -->
                                                                                                                                                                                                                <base href="[[++site_url]]" />
                                                                                                                                                                                                                <meta charset="utf-8">
                                                                                                                                                                                                                <!--[if IE]>
                                                                                                                                                                                                                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                                                                                                                                                                                                                <![endif]-->
                                                                                                                                                                                                                <meta http-equiv="x-ua-compatible" content="ie=edge">
                                                                                                                                                                                                                <title>[[*SeoTitle:default=`[[*pagetitle]]`]]</title>
                                                                                                                                                                                                                <meta name="description" content="[[*SeoDescription:default=`[[*pagetitle]]`]]">
                                                                                                                                                                                                                <meta name="keywords" content="[[*SeoKeywords:default=`[[*pagetitle]]`]]"/>
                                                                                                                                                                                                                
                                                                                                                                                                                                                <!-- Mobile specific metas  -->
                                                                                                                                                                                                                <meta name="viewport" content="width=device-width, initial-scale=1">
                                                                                                                                                                                                                
                                                                                                                                                                                                                <!-- Favicons Icon -->
                                                                                                                                                                                                                <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
                                                                                                                                                                                                                
                                                                                                                                                                                                                <!-- CSS Style -->
                                                                                                                                                                                                                <link rel="stylesheet" href="/style.css">
                                                                                                                                                                                                                
                                                                                                                                                                                                                <!-- JS --> 
                                                                                                                                                                                                                
                                                                                                                                                                                                                <!-- jquery js --> 
                                                                                                                                                                                                                <script type="text/javascript" src="js/jquery.min.js"></script> 
                                                                                                                                                                                                                
                                                                                                                                                                                                                <script type="text/javascript" src="js/jquery.form.js"></script>
                                                                                                                                                                                                                </head>
                                                                                                                                                                                                                
                                                                                                                                                                                                                Я уже даже просто подключил только нужные скрипты, не срабатывает, хотя на другом сайте все ок, все из коробки работало, даже без подключения jquery.form.js

                                                                                                                                                                                                                У предыдущего пользователя точно така же проблема была, там удалось найти ошибку?
                                                                                                                                                                                                                  Oleg Pimanov
                                                                                                                                                                                                                  25 января 2018, 22:51
                                                                                                                                                                                                                  0
                                                                                                                                                                                                                  Разобрался, почему-то не подключился компонент modpnotify
                                                                                                                                                                                                                  и вот эти файлы, пришлось подключить вручную, это моя ошибка или баг у компонента?

                                                                                                                                                                                                                  pnotify.custom.css
                                                                                                                                                                                                                  pnotify.custom.js
                                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                                    26 января 2018, 10:08
                                                                                                                                                                                                                    0
                                                                                                                                                                                                                    modpnotify это что такое? первый раз слышу)))
                                                                                                                                                                                                                    Вероятно, они как-то сконфликтовали…
                                                                                                                                                                                                        Иван Фролов
                                                                                                                                                                                                        10 января 2018, 09:54
                                                                                                                                                                                                        0
                                                                                                                                                                                                        Добрый день!

                                                                                                                                                                                                        Как в вашем дополнении можно динамически вывести отзывы со страниц на странице категории?

                                                                                                                                                                                                        Если перечислить их в threads, выводит, но страницы постоянно добавляются\удаляются.

                                                                                                                                                                                                        Есть ли способ выводить отзывы динамически?

                                                                                                                                                                                                        Категория является родителем для страниц.
                                                                                                                                                                                                        Отзывы должны выводится на странице и в категории.

                                                                                                                                                                                                        сейчас вызов такой

                                                                                                                                                                                                        [[!ecMessages?
                                                                                                                                                                                                        &threads=`resource-[[id]]`
                                                                                                                                                                                                        &showUnpublished=`0`
                                                                                                                                                                                                        &sortby=`date`]]
                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                          10 января 2018, 10:04
                                                                                                                                                                                                          0
                                                                                                                                                                                                          При разумном (ну не сотни или тысячи) кол-во дочерних элементов у категории — напишите небольшой сниппет, который будет формировать строку для параметра $thread в нужном формате:
                                                                                                                                                                                                          &threads=`[[!buildThreads]]`

                                                                                                                                                                                                          Или укажите &threads=`*`, чтобы выбирать все цепочки, а нужное ограничение задайте через параметр &where:
                                                                                                                                                                                                          &where=`{"Resource.parent": ID_КАТЕГОРИИ}`
                                                                                                                                                                                                          По идее это должно сработать.
                                                                                                                                                                                                            Иван Фролов
                                                                                                                                                                                                            10 января 2018, 10:40
                                                                                                                                                                                                            0
                                                                                                                                                                                                            Или укажите &threads=`*`, чтобы выбирать все цепочки, а нужное ограничение задайте через параметр &where:
                                                                                                                                                                                                            &where=`{«Resource.parent»: ID_КАТЕГОРИИ}`

                                                                                                                                                                                                            Не сработало, буду мучить сниппет тогда
                                                                                                                                                                                                          Иван Фролов
                                                                                                                                                                                                          10 января 2018, 10:15
                                                                                                                                                                                                          0
                                                                                                                                                                                                          UPD

                                                                                                                                                                                                          Наумов Алексей 09 ноября 2016, 20:56 # ↑ 0
                                                                                                                                                                                                          Добрый день. Используйте параметр thread у сниппетов, например:

                                                                                                                                                                                                          // на странице Дом
                                                                                                                                                                                                          &thread=`house-[[*id]]`
                                                                                                                                                                                                          // на странице Отзывы
                                                                                                                                                                                                          &thread=`house-[[*parent]]`

                                                                                                                                                                                                          так не подходит, тогда отображаются все отзывы и на странице и в категории, на странице должны отображаться только отзывы с текущей страницы.
                                                                                                                                                                                                            Юрий
                                                                                                                                                                                                            14 января 2018, 19:14
                                                                                                                                                                                                            0
                                                                                                                                                                                                            Привет,
                                                                                                                                                                                                            Не могу разобраться в чем проблема, на основе шаблона, создал свой шаблон, с сохранением всех необходимых классов и параметров, но форма не отправляется.
                                                                                                                                                                                                            Помогите разобраться в чем накосячил? С дефолтным шаблоном все работает

                                                                                                                                                                                                            Вызов:
                                                                                                                                                                                                            [[!ecForm? &tplForm=`ecForm`]]
                                                                                                                                                                                                            Шаблон:
                                                                                                                                                                                                            <div class="uk-overflow-hidden">
                                                                                                                                                                                                              <div class="uk-margin-top review">
                                                                                                                                                                                                                <form class="form uk-card uk-card-small uk-margin-auto uk-margin-large-top uk-margin-large-bottom uk-card-default uk-border-rounded uk-width-1-1 uk-width-xlarge@s uk-box-shadow-small ec-form form" method="post" role="form" id="ec-form-[[+fid]]" data-fid="[[+fid]]" action="[[~[[*id]]]]">
                                                                                                                                                                                                                  <div class="uk-card-header">
                                                                                                                                                                                                                    <h3 class="uk-h2 uk-margin-remove-bottom">Написать отзыв</h3>
                                                                                                                                                                                                                  </div>
                                                                                                                                                                                                                  <div class="uk-card-body uk-form-horizontal">
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <input type="hidden" name="thread" value="[[+thread]]">
                                                                                                                                                                                                                      
                                                                                                                                                                                                                    <div class="uk-margin ec-antispam">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-[[+antispam_field]]-[[+fid]]">[[%ec_fe_message_antismap]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <input class="uk-input" type="text" placeholder="[[%ec_fe_message_antismap]]" name="[[+antispam_field]]" id="ec-[[+antispam_field]]-[[+fid]]" value="">
                                                                                                                                                                                                                        <span class="ec-error help-block" id="ec-antispam_field-error-[[+fid]]"></span>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <div class="uk-margin">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-user_name-[[+fid]]">[[%ec_fe_message_user_name]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <input class="uk-input" type="text" placeholder="[[%ec_fe_message_user_name]]" name="user_name" id="ec-user_name-[[+fid]]" value="[[+user_name]]">
                                                                                                                                                                                                                        <span class="ec-error help-block" id="ec-user_name-error-[[+fid]]"></span>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <div class="uk-margin">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-user_email-[[+fid]]">[[%ec_fe_message_user_email]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <input class="uk-input" type="email" placeholder="[[%ec_fe_message_user_email]]" name="user_email" id="ec-user_email-[[+fid]]" value="[[+user_email]]">
                                                                                                                                                                                                                        <span class="ec-error help-block" id="ec-user_email-error-[[+fid]]"></span>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <div class="uk-margin">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-user_contacts-[[+fid]]">[[%ec_fe_message_user_contacts]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <input class="uk-input" id="ec-user_contacts-[[+fid]]" type="text" name="user_contacts" placeholder="[[%ec_fe_message_user_contacts]]" value="[[+user_contacts]]">
                                                                                                                                                                                                                        <span class="ec-error help-block" id="ec-user_contacts-error-[[+fid]]"></span>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <div class="uk-margin">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-rating-[[+fid]]">[[%ec_fe_message_rating]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <input type="hidden" name="rating" id="ec-rating-[[+fid]]" value="[[+rating]]" />
                                                                                                                                                                                                                        <div class="ec-rating ec-clearfix" data-storage-id="ec-rating-[[+fid]]">
                                                                                                                                                                                                                          <div class="ec-rating-stars">
                                                                                                                                                                                                                            <span data-rating="1" data-description="[[%ec_fe_message_rating_1]]"></span>
                                                                                                                                                                                                                            <span data-rating="2" data-description="[[%ec_fe_message_rating_2]]"></span>
                                                                                                                                                                                                                            <span data-rating="3" data-description="[[%ec_fe_message_rating_3]]"></span>
                                                                                                                                                                                                                            <span data-rating="4" data-description="[[%ec_fe_message_rating_4]]"></span>
                                                                                                                                                                                                                            <span data-rating="5" data-description="[[%ec_fe_message_rating_5]]"></span>
                                                                                                                                                                                                                          </div>
                                                                                                                                                                                                                          <div class="ec-rating-description">[[%ec_fe_message_rating_0]]</div>
                                                                                                                                                                                                                          <span class="ec-error help-block" id="ec-rating-error-[[+fid]]"></span>
                                                                                                                                                                                                                        </div>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                    <div class="uk-margin">
                                                                                                                                                                                                                      <label class="uk-form-label" for="ec-text-[[+fid]]">[[%ec_fe_message_text]]</label>
                                                                                                                                                                                                                      <div class="uk-form-controls">
                                                                                                                                                                                                                        <textarea type="text" name="text" class="uk-textarea autosize" id="ec-text-[[+fid]]">[[+text]]</textarea>
                                                                                                                                                                                                                        <span class="ec-error help-block" id="ec-text-error-[[+fid]]"></span>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    
                                                                                                                                                                                                                  </div>
                                                                                                                                                                                                                  <div class="uk-card-footer form-actions">
                                                                                                                                                                                                                    <buttom type="submit" class="uk-button uk-button-secondary" name="send">[[%ec_fe_send]]</buttom>
                                                                                                                                                                                                                  </div>
                                                                                                                                                                                                                </form>
                                                                                                                                                                                                              </div>
                                                                                                                                                                                                            </div>
                                                                                                                                                                                                            <div id="ec-form-success-[[+fid]]"></div>
                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                              15 января 2018, 10:16
                                                                                                                                                                                                              0
                                                                                                                                                                                                              Добрый день.

                                                                                                                                                                                                              Ну что-то кода много) сложно сходу понять. Вижу что action у формы заполнили — должен быть пустой, но вроде это не влияет. Еще input и span с текстом ошибки должны быть внутри слоя с классом form-group, скрипт так ищет, какую ошибку показать. Может быть в этом дело? Ошибка есть, а вы ее не видите?
                                                                                                                                                                                                                Юрий
                                                                                                                                                                                                                15 января 2018, 15:32
                                                                                                                                                                                                                0
                                                                                                                                                                                                                Ошибка, в том, что я использую button type=«submit» вместо input type=«submit». А в js идет привязка именно к input
                                                                                                                                                                                                                jQuery(form).find('input[type="submit"]').attr('disabled','disabled');
                                                                                                                                                                                                                Наверно стоит сделать возможность болей кастомизации шаблона.
                                                                                                                                                                                                                Использовать input type=«submit» — уже не комильфо :-)
                                                                                                                                                                                                              Александр
                                                                                                                                                                                                              07 февраля 2018, 14:10
                                                                                                                                                                                                              0
                                                                                                                                                                                                              Приветствую всех, подскажите пожалуйста.
                                                                                                                                                                                                              <div class="col-md-8">
                                                                                                                                                                                                              	<div id="pdopage">
                                                                                                                                                                                                              		[[!+page.nav]]
                                                                                                                                                                                                              		<div class="rows">
                                                                                                                                                                                                              			[[!pdoPage?
                                                                                                                                                                                                              				&element=`ecMessages`
                                                                                                                                                                                                              				&tpl=`tpl.ecMessages.Row`
                                                                                                                                                                                                              				&parents=`0`
                                                                                                                                                                                                              				&ajaxMode=`button`
                                                                                                                                                                                                              				&ajaxTplMore=`@INLINE <button class="btn-common button3 btn-more">Показать еще</button>`
                                                                                                                                                                                                              				&limit=`3`
                                                                                                                                                                                                              			]]
                                                                                                                                                                                                              		</div>
                                                                                                                                                                                                              	</div>
                                                                                                                                                                                                              	[[!ecForm?tplForm=`ecForm`&requiredFields=`user_name,user_email,text`]]
                                                                                                                                                                                                              </div>
                                                                                                                                                                                                              когда в админке отвечаешь на какой то из отзывов, во фронте, пока он в первой тройке, то есть его видно сразу, ответ админа виден, но как только он уходит и нажимаешь на «показать еще», то ответ админа не видно. То есть отзыв есть, а ответ на него уже не виден
                                                                                                                                                                                                                Наумов Алексей
                                                                                                                                                                                                                07 февраля 2018, 14:29
                                                                                                                                                                                                                0
                                                                                                                                                                                                                Если ответа админа нет в html коде, пришедшем с сервера, то попробуйте условия, записанные в конце чанка tpl.ecMessages.Row, переписать на Fenom. Сейчас они для совместимости сделаны на довольно старом синтаксисе pdoTools.
                                                                                                                                                                                                                  Александр
                                                                                                                                                                                                                  07 февраля 2018, 14:35
                                                                                                                                                                                                                  0
                                                                                                                                                                                                                  Алексей, не заметил, ответ оказывается есть, но нету кто ответил и стилей, ответа, в коде нету имя того кто ответил и с тилей тоже нет. В коде почему то вот так:
                                                                                                                                                                                                                  <!--ec_reply_text <div class="ec-message__reply">Администрация кафе<p>Спасибо за ваш отзыв</p></div>-->
                                                                                                                                                                                                                    Александр
                                                                                                                                                                                                                    07 февраля 2018, 14:38
                                                                                                                                                                                                                    0
                                                                                                                                                                                                                    <!--ec_reply_text <div class="ec-message__reply">[[+reply_author]]<p>[[+reply_text]]</p></div>-->
                                                                                                                                                                                                                    <!--ec_reply_author <p><strong>[[+reply_author]]</strong></p>-->
                                                                                                                                                                                                                    а как это переписать в Fenom?
                                                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                                                      07 февраля 2018, 14:42
                                                                                                                                                                                                                      +1
                                                                                                                                                                                                                      {if $reply_text}
                                                                                                                                                                                                                      <div class="ec-message__reply">
                                                                                                                                                                                                                      	{if $reply_author}
                                                                                                                                                                                                                      	<p><strong>{$reply_author}</strong></p>
                                                                                                                                                                                                                      	{/if}
                                                                                                                                                                                                                      	<p>{$reply_text}</p>
                                                                                                                                                                                                                      </div>
                                                                                                                                                                                                                      {/if}
                                                                                                                                                                                                                        Александр
                                                                                                                                                                                                                        07 февраля 2018, 14:47
                                                                                                                                                                                                                        0
                                                                                                                                                                                                                        так появились какие то стили, но отбражается не правильно, и теперь не так отображается и то что выдно на первом экране до нажатия «показать еще»
                                                                                                                                                                                                                          Александр
                                                                                                                                                                                                                          07 февраля 2018, 14:53
                                                                                                                                                                                                                          0
                                                                                                                                                                                                                          когда:
                                                                                                                                                                                                                          <!--ec_reply_text <div class="ec-message__reply">[[+reply_author]]<p>[[+reply_text]]</p></div>-->
                                                                                                                                                                                                                          <!--ec_reply_author <p><strong>[[+reply_author]]</strong></p>-->
                                                                                                                                                                                                                          отображается: вот так на видимой странице, но после нажатия «показать еще» только ответ и все без стилей и автора ответа.


                                                                                                                                                                                                                          а с веномом

                                                                                                                                                                                                                          но и после нажатия «показать еще» отображается так же
                                                                                                                                                                                                                    Александр
                                                                                                                                                                                                                    07 февраля 2018, 15:27
                                                                                                                                                                                                                    0
                                                                                                                                                                                                                    Разобрался сам )) за Fenom спасибо
                                                                                                                                                                                                                    <div id="ec-[[+thread_name]]-message-[[+id]]" class="ec-message col-md-12">
                                                                                                                                                                                                                    	<div class="col-md-8 name-commenter">
                                                                                                                                                                                                                    		[[+user_contacts:is=``:then=`
                                                                                                                                                                                                                    		<h3>[[+user_name]]</h3>
                                                                                                                                                                                                                    		`:else=`
                                                                                                                                                                                                                    		<a href="[[+user_contacts]]" target="_blank"><i class="fab fa-vk"></i> <h3>[[+user_name]]</h3></a>
                                                                                                                                                                                                                    		`]]
                                                                                                                                                                                                                    	</div>
                                                                                                                                                                                                                    	<div class="col-md-4" style="text-align:right; padding: 0;">
                                                                                                                                                                                                                    		<span class="ec-message__date"> [[+date:dateAgo]]</span>
                                                                                                                                                                                                                    	</div>
                                                                                                                                                                                                                    	<div class="ec-stars">
                                                                                                                                                                                                                    		<span class="rating-[[+rating]]"></span>
                                                                                                                                                                                                                    	</div>
                                                                                                                                                                                                                    	<hr style="margin-bottom: 20px">
                                                                                                                                                                                                                    	<p>[[+text]]</p>
                                                                                                                                                                                                                    	{if $reply_text}
                                                                                                                                                                                                                    		<div class="ec-message__reply">
                                                                                                                                                                                                                    			{if $reply_author}
                                                                                                                                                                                                                    				<p><strong>{$reply_author}</strong></p>
                                                                                                                                                                                                                    			{/if}
                                                                                                                                                                                                                    			<p>{$reply_text}</p>
                                                                                                                                                                                                                    		</div>
                                                                                                                                                                                                                    	{/if}
                                                                                                                                                                                                                    </div>
                                                                                                                                                                                                                    может кому еще понадобится, теперь все ответы отображаются корректно
                                                                                                                                                                                                                      serg
                                                                                                                                                                                                                      07 февраля 2018, 21:25
                                                                                                                                                                                                                      0
                                                                                                                                                                                                                      Здравствуйте. На сабмит формы письмо уходит, но на странице происходит что-то странное, форма просто удаляется (style=«display: none;»), остается заголовок


                                                                                                                                                                                                                      UPD: Иногда форма вообще не отправляется, а страница просто перезагружается.
                                                                                                                                                                                                                        Виктор
                                                                                                                                                                                                                        07 марта 2018, 19:41
                                                                                                                                                                                                                        0
                                                                                                                                                                                                                        Приветствую! Такой вопрос возник — как можно вывести общий рейтинг из нескольких ресурсов?

                                                                                                                                                                                                                        На счетчике сообщений проблем нет — справляется параметр threads, а на рейтинге то он отсутствует. Можно его как-то прикрутить или нужно сделать какой-то альтернативный вызов?
                                                                                                                                                                                                                          marianna
                                                                                                                                                                                                                          10 марта 2018, 23:22
                                                                                                                                                                                                                          0
                                                                                                                                                                                                                          Здравствуйте! Впервые столкнулась с системой modx. У меня проблема с капчей для данного компонента, она не работает, просто выводятся дивы:
                                                                                                                                                                                                                          <div class="ec-captcha" id="ec-captcha-resource-110"></div>
                                                                                                                                                                                                                              <span class="ec-error help-block" id="ec-captcha-error-resource-110"></span>
                                                                                                                                                                                                                          </div>
                                                                                                                                                                                                                          а сама надпись я не робот отсутствует :( в админке ec_captcha_enable включено и ключа оба введены.
                                                                                                                                                                                                                          что я не так делаю?

                                                                                                                                                                                                                          а самого капчи нет, если выводить с помощью recaptcha2 то тогда появляется поле с галочкой «я не робот», но отзыв все равно можно добавить без проверки капчки, читала что проверку делают хуки, но так и не дошло какие нужны хуки да и сам этот вызов помещать над form для того чтобы в отзывах капча работала как надо.
                                                                                                                                                                                                                            v2254303
                                                                                                                                                                                                                            11 марта 2018, 21:00
                                                                                                                                                                                                                            0
                                                                                                                                                                                                                            Привет, поделитесь кодом, если кто перевел easyComm на fenom.
                                                                                                                                                                                                                              Нельзя ставить в форме такие конструкции:
                                                                                                                                                                                                                              pattern="^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+\\.[a-z]{2,4}$"
                                                                                                                                                                                                                              Парсер pdoTools ругается на все что в фигурных скобках)
                                                                                                                                                                                                                                Алексей. Подскажите, правильно ли я понимаю, если мне нужно добавить проверку CSRF токена, после нажатия на кнопку «Отправить» то необходимо внести изменения в "assets/components/easycomm/action.php"?
                                                                                                                                                                                                                                Если да, то как я понял добавлять проверку нужно перед $easyComm->createMessage($_POST); как-то так:
                                                                                                                                                                                                                                switch ($action) {
                                                                                                                                                                                                                                    case 'message/create':
                                                                                                                                                                                                                                	if(checkCsrfToken()){
                                                                                                                                                                                                                                        	$response = $easyComm->createMessage($_POST);
                                                                                                                                                                                                                                	}
                                                                                                                                                                                                                                        break;
                                                                                                                                                                                                                                    default:
                                                                                                                                                                                                                                        $response = $modx->toJSON(array('success' => false, 'message' => $modx->lexicon('ec_unknown_action')));
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                Или есть более изящный способ? Может быть плагин на одно из событий easyComm?
                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                  27 марта 2018, 09:20
                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                  Взаимодействие идет через файл action.php, верно…
                                                                                                                                                                                                                                  Проверять думаю лучше до switch, где-нибудь повыше.

                                                                                                                                                                                                                                  Насчет большей изящности…

                                                                                                                                                                                                                                  ну есть событие OnBeforeEcMessageSave (типа OnBeforeDocFormSave, только для сообщения ecMessage). В нем наверное можно проверять, если что не так, то если не ошибаюсь, там можно добавлять ошибку
                                                                                                                                                                                                                                  $this->modx->error->addField(...
                                                                                                                                                                                                                                  если будет ошибка — то добавление сообщения прервется.

                                                                                                                                                                                                                                  Не забывайте, что OnBeforeEcMessageSave вызывается как при создании, так и при сохранении сообщения, как с фронта, так и с админки.

                                                                                                                                                                                                                                  Ну и напоследок вопрос — что за проверка?)
                                                                                                                                                                                                                                    Я установил дополнение modHelpers, теперь все формы защищаю от CSRF. Так вот в этом дополнении есть замечательный механизм генерации самого CSRF токена и его проверки. Дополнительная защита от более продвинутых «хацкеров».
                                                                                                                                                                                                                                    Если интересно, можете почитать тут.
                                                                                                                                                                                                                                  Pavel
                                                                                                                                                                                                                                  28 апреля 2018, 10:14
                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                  Здравствуйте. Подскажите пожалуйста как избавится от ореола на звездочках? Спасибо ))
                                                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                                                    28 апреля 2018, 10:18
                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                    Добрый день. Какие-то css стили мешают… то ли символы лишние появляются, то ли картинка…

                                                                                                                                                                                                                                    Через инспектор браузера выясните, что это.
                                                                                                                                                                                                                                      Pavel
                                                                                                                                                                                                                                      28 апреля 2018, 10:21
                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                      Добрый день. Что то не смог разобраться express-pol.ru/portfolio/polusuxaya-styazhka-nashi-rabotyi/polusuxaya-styazhka-v-kottedzhe может подскажите что подправить в css Спасибо ))
                                                                                                                                                                                                                                        Андрей
                                                                                                                                                                                                                                        28 апреля 2018, 10:59
                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                        В файле — /assets/css/essentials.css, строки 3441-3446 закомментировать или убрать:

                                                                                                                                                                                                                                        .rating-0:after{content:"\f006\20\f006\20\f006\20\f006\20\f006";}
                                                                                                                                                                                                                                        .rating-1:after{content:"\f005\20\f006\20\f006\20\f006\20\f006";}
                                                                                                                                                                                                                                        .rating-2:after{content:"\f005\20\f005\20\f006\20\f006\20\f006";}
                                                                                                                                                                                                                                        .rating-3:after{content:"\f005\20\f005\20\f005\20\f006\20\f006";}
                                                                                                                                                                                                                                        .rating-4:after{content:"\f005\20\f005\20\f005\20\f005\20\f006";}
                                                                                                                                                                                                                                        .rating-5:after{content:"\f005\20\f005\20\f005\20\f005\20\f005";}
                                                                                                                                                                                                                                          Pavel
                                                                                                                                                                                                                                          28 апреля 2018, 11:03
                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                          Как раз только сам нашел )) Спасибо за помощь.
                                                                                                                                                                                                                                    eflit
                                                                                                                                                                                                                                    03 мая 2018, 12:15
                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                    Здравствуйте скажите возможно вызвать форму на главной странице а отзыв чтобы она прикрепляла к странице отзывов?
                                                                                                                                                                                                                                    Ольга
                                                                                                                                                                                                                                    08 мая 2018, 16:26
                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                    Алексей, а вы можете доработать плагином, чтобы были поля достоинства и недостатки? Я куплю дополнение, а вы поможете за доп плату?
                                                                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                                                                      10 мая 2018, 08:50
                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                      Добрый день! Добавить 2 поля? Да, смогу конечно. Но только именно добавить, установка и настройка компонента — все равно за вами. Покупайте и пишите в поддержку на modstore.
                                                                                                                                                                                                                                      v7305020
                                                                                                                                                                                                                                      08 мая 2018, 19:46
                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                      Вывожу последние комментарии:
                                                                                                                                                                                                                                      [[!pdoPage?
                                                                                                                                                                                                                                      &element=`ecMessages`
                                                                                                                                                                                                                                      &threads=`*`
                                                                                                                                                                                                                                      &limit=`3`
                                                                                                                                                                                                                                      &sortby=`date`
                                                                                                                                                                                                                                      &sortdir=`DESC`
                                                                                                                                                                                                                                      ]]
                                                                                                                                                                                                                                      Работает отлично, подскажите пожалуйста как вывести ссылку на страницу с которой был оставлен коммент.
                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                        10 мая 2018, 08:53
                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                        Добрый!
                                                                                                                                                                                                                                        1. Есть параметр resourceFields у сниппета, через который можно указать, какие поля ресурса цеплять. Добавляются с префиксом «resource_».
                                                                                                                                                                                                                                        2. А еще join делается на цепочку, и доступно поле thread_resource, где id ресурса.
                                                                                                                                                                                                                                        Sergey (Sentinel)
                                                                                                                                                                                                                                        12 сентября 2018, 11:26
                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                        Доброго!
                                                                                                                                                                                                                                        Пытаюсь заставить искать ресурсы по комментам, вывод делаю так:
                                                                                                                                                                                                                                        {'!mSearch2' | snippet : [
                                                                                                                                                                                                                                            'loadModels' => 'easycomm',
                                                                                                                                                                                                                                            'tpl' => 'tpl.mSearch2.row',
                                                                                                                                                                                                                                            'minQuery' => 1,
                                                                                                                                                                                                                                            'showLog' => 1,
                                                                                                                                                                                                                                            'where' => ['class_key' => 'modResource'],
                                                                                                                                                                                                                                            'element' => 'ecMessages',
                                                                                                                                                                                                                                            'thread' => '*',
                                                                                                                                                                                                                                            'leftJoin' => '{
                                                                                                                                                                                                                                            	"ecMessages": {
                                                                                                                                                                                                                                            	    "class": "ecMessages",
                                                                                                                                                                                                                                            		"on": "modResource.id = ecMessages.thread"
                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                            }',
                                                                                                                                                                                                                                            'select' => '{
                                                                                                                                                                                                                                            	"modResource": "*",
                                                                                                                                                                                                                                            	"ecMessages": "text"
                                                                                                                                                                                                                                            }'
                                                                                                                                                                                                                                        ]}
                                                                                                                                                                                                                                        Подскажите что не так?
                                                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                                                          12 сентября 2018, 15:04
                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                          Потому что в данном коде вы сначала ищете по полям ресурса, а затем присоединяете к результату таблицу с сообщениями, но никак не ищете по ней!

                                                                                                                                                                                                                                          Вот цитата из документации на mSearch2:
                                                                                                                                                                                                                                          Благодаря специальному алгоритму, можно индексировать необычные поля документов, например свойства товаров miniShop2, просто указав их в настройках наравне со всеми. Также mSearch2 умеет индексировать комментарии Tickets, соответствующая настройка включена по умолчанию.
                                                                                                                                                                                                                                          отсюда видим, что поиск может идти по полям документа и по комментариям Tickets, так mSearch2 сделан!
                                                                                                                                                                                                                                            Sergey (Sentinel)
                                                                                                                                                                                                                                            12 сентября 2018, 15:08
                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                            т.е. нужно в настройках mSearch2 прописать easycomm?
                                                                                                                                                                                                                                            что то я не понимаю…
                                                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                                                              12 сентября 2018, 15:10
                                                                                                                                                                                                                                              +1
                                                                                                                                                                                                                                              Да не умеет он искать нигде, кроме ресурсов и комметариев Tickets.

                                                                                                                                                                                                                                              «Прописать» — посмотрите исходный код mSearch2, мб по аналогии с Tickets сможете внести изменения, чтобы и в других таблицах искал.
                                                                                                                                                                                                                                        Глеб
                                                                                                                                                                                                                                        12 сентября 2018, 20:48
                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                        Здравствуйте.

                                                                                                                                                                                                                                        Подскажите пожалуйста, как вывести значение tv ресура?

                                                                                                                                                                                                                                        Основные поля выводит:
                                                                                                                                                                                                                                        &resourceFields = `pagetitle,exp`
                                                                                                                                                                                                                                        {$resource_pagetitle}
                                                                                                                                                                                                                                        а tv нет
                                                                                                                                                                                                                                        {$resource_exp}
                                                                                                                                                                                                                                          Андрей Перевезенцев
                                                                                                                                                                                                                                          13 сентября 2018, 08:07
                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                          [[*resource_exp]] Попробуй так
                                                                                                                                                                                                                                            Глеб
                                                                                                                                                                                                                                            13 сентября 2018, 08:49
                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                            нет, тоже самое
                                                                                                                                                                                                                                            в журнале ошибок следующее:
                                                                                                                                                                                                                                            [2018-09-13 08:44:48] (ERROR @ /home/site/web/test.ru/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php : 573) [pdoTools] Could not join TVs to the class "ecMessage" that is not a subclass of the "modResource". Try to specify correct class in the "joinTVsTo" parameter.
                                                                                                                                                                                                                                            я так понимаю нужно использовать leftJoin?
                                                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                                                              13 сентября 2018, 09:01
                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                              Это больше вопрос к pdoTools…
                                                                                                                                                                                                                                              но в тексте ошибки прямо написано:
                                                                                                                                                                                                                                              Could not join TVs to the class "ecMessage" that is not a subclass of the "modResource". Try to specify correct class in the "joinTVsTo" parameter.
                                                                                                                                                                                                                                              Попробуйте указать этот параметр!!!
                                                                                                                                                                                                                                          Sergey (Sentinel)
                                                                                                                                                                                                                                          13 сентября 2018, 10:02
                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                          Андрей, можете подсказать как привязать к easyComm уведомления notify, ну т.е. чтобы в окошках высплывало?
                                                                                                                                                                                                                                            Deni
                                                                                                                                                                                                                                            15 октября 2018, 16:22
                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                            Подскажите такой вопрос… Требуется сделать форму на странице «Задать вопрос», а после создания вопроса должен создаться отдельный ресурс (новая страница)… где в дальнейшем будет диалог с пользователем или просто ответ на вопрос пользователя…
                                                                                                                                                                                                                                            Или цепочка привязывается к странице отправки..*?
                                                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                                                              16 октября 2018, 09:03
                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                              Если нужно создавать новую страницу — то компонент так НЕ делает.
                                                                                                                                                                                                                                              Диалог построить нельзя, наверное Tickets в этом случае больше подойдет.
                                                                                                                                                                                                                                              Андрей
                                                                                                                                                                                                                                              13 ноября 2018, 12:41
                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                              Добрый день. Класс!
                                                                                                                                                                                                                                                Impulse
                                                                                                                                                                                                                                                18 января 2019, 13:06
                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                Обновил EasyComm до версии 1.8.1

                                                                                                                                                                                                                                                Сообщения перестали выводиться, а в журнале ошибок вот такое:

                                                                                                                                                                                                                                                [2019-01-18 13:02:01] (ERROR @ /var/www/u0487943/data/www/samara.dental/core/xpdo/om/xpdoobject.class.php: 1452) Error 23000 executing statement:
                                                                                                                                                                                                                                                INSERT INTO `modx_ec_threads` (`resource`, `name`, `title`, `message_last`, `count`, `rating_simple`, `rating_wilson`, `properties`) VALUES (1448, 'resource-183', '', 0, 0, '0', '0', '{\«thread\»:\«resource-183\»,\«formId\»:\«resource-183\»,\«allowedFields\»:\«user_name,user_email,user_contacts,subject,rating,text\»,\«requiredFields\»:\«user_name,text\»,\«antispamField\»:\«hidden-in\»,\«autoPublish\»:\"\",\«tplForm\»:\«institution.reviews.tpl\»,\«tplFormReCaptcha\»:\«tpl.ecForm.ReCaptcha\»,\«tplSuccess\»:\«review-siccess.tpl\»,\«mailManager\»:\«zybin_m.a@mail.ru, manager@samara.dental\»,\«newEmailSubjUser\»:\"\",\«tplNewEmailUser\»:\«tpl.ecForm.New.Email.User\»,\«newEmailSubjManager\»:\"\\u041e\\u0441\\u0442\\u0430\\u0432\\u043b\\u0435\\u043d \\u043e\\u0442\\u0437\\u044b\\u0432 \\u043e\\u0431 \\u0443\\u0447\\u0440\\u0435\\u0436\\u0434\\u0435\\u043d\\u0438\\u0438 \\\"\\u041a\\u0440\\u0443\\u0433\\u043b\\u043e\\u0441\\u0443\\u0442\\u043e\\u0447\\u043d\\u0430\\u044f \\u0441\\u0442\\u043e\\u043c\\u0430\\u0442\\u043e\\u043b\\u043e\\u0433\\u0438\\u044f \\u0414\\u0418\\u0410\\u041c\\u0410\\u041d\\u0422\\\"\",\«tplNewEmailManager\»:\«tpl.ecForm.New.Email.Manager\»,\«updateEmailSubjUser\»:\"\",\«tplUpdateEmailUser\»:\«tpl.ecForm.Update.Email.User\»}')
                                                                                                                                                                                                                                                Array
                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                [0] => 23000
                                                                                                                                                                                                                                                [1] => 1062
                                                                                                                                                                                                                                                [2] => Duplicate entry 'resource-183' for key 'unique_key'
                                                                                                                                                                                                                                                )
                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                  18 января 2019, 13:49
                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                  В личные сообщения modx.pro/users/createit напишите, пожалуйста. Очень желательно сразу адрес страницы и временный доступ в панель управления сайтом, без этого вряд ли смогу помочь.
                                                                                                                                                                                                                                                  Дмитрий
                                                                                                                                                                                                                                                  16 февраля 2019, 04:44
                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                  Заинтересовал компонент.

                                                                                                                                                                                                                                                  Алексей, подскажи, можно ли реализовать дополнительный вопрос к уже имеющемуся?
                                                                                                                                                                                                                                                  Например, как здесь:


                                                                                                                                                                                                                                                  Если можно, то подскажи реализацию. Интересует в основном для НЕавторизованных пользователей.

                                                                                                                                                                                                                                                  Заранее, благодарю.
                                                                                                                                                                                                                                                    Дмитрий
                                                                                                                                                                                                                                                    16 февраля 2019, 04:55
                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                    То есть нужно чтобы был заголовок сообщения (вопроса) и возможность задать дополнительный вопрос к этому сообщению после ответа и публикации на странице ресурса.
                                                                                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                                                                                      18 февраля 2019, 09:19
                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                      Можно попробовать на первом «уровне» вопросов задавать цепочку
                                                                                                                                                                                                                                                      `thread` => `resource-[[*id]]`
                                                                                                                                                                                                                                                      а на втором «уровне» цепочку называть типа
                                                                                                                                                                                                                                                      `thread` => `comment-[[+resource_id]]-[[+id]]`
                                                                                                                                                                                                                                                      Вызов сниппета ecForm будет внутри чанка tpl.ecMessages.Row, в имени цепочки используем и id ресурса и id текущего ecMessage. id ресурса то в принципе и не обязательно… я добавил, просто что-бы потом можно было фильтровать по-удобнее… в общем надо подумать, как лучше. Естественно, все вызовы сниппетов нужно самому писать.
                                                                                                                                                                                                                                                      Сергей
                                                                                                                                                                                                                                                      29 апреля 2019, 17:01
                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                      Доброго всем! а по какой вообще формуле расчитывается средний бал в рейтинге?


                                                                                                                                                                                                                                                      Давайте я произведу свою калькуляцию (5 + 3 + 1): 3 = 3
                                                                                                                                                                                                                                                      Почему показывает неправильный рейтинг? почему неправильная формула, когда мы складываем все оценки и делим сумму на количество оценок (так учили еще в школе). Как это исправить?
                                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                                        29 апреля 2019, 17:14
                                                                                                                                                                                                                                                        +1
                                                                                                                                                                                                                                                        Компонент считает рейтинг по 2-м алгоритмам: по Вильсону и среднее арифметическое.
                                                                                                                                                                                                                                                        По-умолчанию вильсон, отсюда и такой средний бал.
                                                                                                                                                                                                                                                        Чтобы было среднее арифметическое — в используемых чанках поменяйте постфикс "_wilson" на "_simple".
                                                                                                                                                                                                                                                          Сергей
                                                                                                                                                                                                                                                          29 апреля 2019, 18:13
                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                          Спасибо за быстрый ответ! теперь так лучше) Заведомо низкий рейтинг отпугивает, а покупатели не разбираются в методах, низкая цифра значит плохо
                                                                                                                                                                                                                                                        Ильяс
                                                                                                                                                                                                                                                        02 июня 2019, 14:16
                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                        Здравствуйте. Будет ли возможность добавления фотографии к отзыву?
                                                                                                                                                                                                                                                            Ильяс
                                                                                                                                                                                                                                                            03 июня 2019, 16:54
                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                            Спасибо, а привязка к товарам есть? К примеру комментарий в карточке товара.
                                                                                                                                                                                                                                                              Андрей
                                                                                                                                                                                                                                                              03 июня 2019, 18:05
                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                              Не совсем ясна суть вопроса. Цепочка сообщений прикрепляется к конкретному ресурсу, где был оставлен отзыв. Интерфейс можно посмотреть например тут — Интерфейс или поставить компонент на тестовом тарифе modhost-а и протестировать всё необходимое.
                                                                                                                                                                                                                                                          Ильяс
                                                                                                                                                                                                                                                          03 июня 2019, 17:17
                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                          Есть ли привязка к страницам на котором был оставлен отзыв? К примеру комментарий в карточке товара.
                                                                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                                                                            04 июня 2019, 10:10
                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                            Да.
                                                                                                                                                                                                                                                              Bor
                                                                                                                                                                                                                                                              Bor
                                                                                                                                                                                                                                                              10 декабря 2019, 21:43
                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                              небольшой комментарий, исправьте стоимость в описании)) уже немного изменилась.
                                                                                                                                                                                                                                                              за пакет респект!
                                                                                                                                                                                                                                                            mxk
                                                                                                                                                                                                                                                            mxk
                                                                                                                                                                                                                                                            11 декабря 2019, 22:13
                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                            https://zzcash.net/ru/
                                                                                                                                                                                                                                                            При авторизации в админке рейтинг показывает
                                                                                                                                                                                                                                                            drive.google.com/file/d/1ZCppECzO9ZcASlVrgwmMA0mwi7UEIBLi/view?usp=drivesdk
                                                                                                                                                                                                                                                            После очистки кеша и открытии в инкогнито рейтинг пропадает
                                                                                                                                                                                                                                                            drive.google.com/file/d/14kl05u_Tkyb69TnOs8cKe7KVON8oYeg9/view?usp=drivesdk
                                                                                                                                                                                                                                                            Как быть? Политики, доступа? Куда копать?
                                                                                                                                                                                                                                                            Dementor218
                                                                                                                                                                                                                                                            31 января 2020, 18:46
                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                            Добрый день! Прошу помощи, вылетает ошибка can t find jquery ajaxform plugin, хотя устанавливал все по инструкции. Здесь в чате ответа не нашел. Сайт: antey-service.ru/reviews.php
                                                                                                                                                                                                                                                              Dementor218
                                                                                                                                                                                                                                                              01 февраля 2020, 10:06
                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                              Вопрос снимается. Разобрался)
                                                                                                                                                                                                                                                              Александр
                                                                                                                                                                                                                                                              13 февраля 2020, 13:20
                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                              Приветствую!
                                                                                                                                                                                                                                                              Вопрос про доступ для менеджеров. Сам я, как администратор создаю и редактирую сообщения, а менеджерам пишет «Доступ запрещен». Не пойму, какие именно дать права на сохранение и редактирование?
                                                                                                                                                                                                                                                                Александр
                                                                                                                                                                                                                                                                13 февраля 2020, 15:15
                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                Все вопрос решен – из-за невнимательности не увидел политику доступа easyCommPolicy.
                                                                                                                                                                                                                                                                АндрейЧ
                                                                                                                                                                                                                                                                20 февраля 2020, 13:05
                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                Автор, подскажи пожалуйста, как можно автоматически привязать эти комментарии к 1000 товаров. Делается ли такое?
                                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                                  20 февраля 2020, 15:23
                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                  Эти? Какие эти?)
                                                                                                                                                                                                                                                                  Вообще импорта нет, только вручную писать скрипт.
                                                                                                                                                                                                                                                                  Sergey (Sentinel)
                                                                                                                                                                                                                                                                  24 апреля 2020, 10:58
                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                  Подскажите, у пользователя есть доп поле с именем.
                                                                                                                                                                                                                                                                  Нужно его вывести вместо user_name у ecMessages, как это сделать?
                                                                                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                                                                                    24 апреля 2020, 11:26
                                                                                                                                                                                                                                                                    +1
                                                                                                                                                                                                                                                                    Можно сделать join таблицы пользователей и выводить поле.
                                                                                                                                                                                                                                                                    Можно каждый раз какой-нибудь сниппет вызывать для вывода поля по id пользователя.
                                                                                                                                                                                                                                                                    Можно модификатором возпользоваться (Fenom)
                                                                                                                                                                                                                                                                    {1 | user : 'fullname'} // Administrator
                                                                                                                                                                                                                                                                    А id пользователя, если комментарий оставил зарегистрированный, доступно в чанке как createdby
                                                                                                                                                                                                                                                                      Sergey (Sentinel)
                                                                                                                                                                                                                                                                      24 апреля 2020, 13:05
                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                      Алексей, спасибо большое, все получилось, может кому надо будет, вот код
                                                                                                                                                                                                                                                                      {if $createdby > 0}
                                                                                                                                                                                                                                                                          {$createdby | user : 'surname'}
                                                                                                                                                                                                                                                                      {else}
                                                                                                                                                                                                                                                                          {$user_name} 
                                                                                                                                                                                                                                                                      {/if}
                                                                                                                                                                                                                                                                    Valdis
                                                                                                                                                                                                                                                                    05 июня 2020, 14:01
                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                    подскажите, есть цепочка Вопросов. Вывожу на страницу [[ecForm?]] Пользователю надо заполнить стандартные поля Имя и Почта. Но он у меня уже залогинен через Login. Как сделать так, чтобы ему не нужно было вводить Имя и email заново, а брать оттуда. Ну и [[ecMessages]] соответственно.
                                                                                                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                                                                                                      05 июня 2020, 14:31
                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                      Так должно прописываться, проверьте:
                                                                                                                                                                                                                                                                      fullname => user_name
                                                                                                                                                                                                                                                                      email => user_email

                                                                                                                                                                                                                                                                      Вот кусочек кода из сниппета ecForm:
                                                                                                                                                                                                                                                                      if ($modx->user->hasSessionContext($modx->context->get('key'))) {
                                                                                                                                                                                                                                                                          $profile = $modx->user->getOne('Profile');
                                                                                                                                                                                                                                                                          $data['user_name'] = $profile->get('fullname');
                                                                                                                                                                                                                                                                          if(empty($data['user_name'])) {
                                                                                                                                                                                                                                                                              $data['user_name'] = $modx->user->get('username');
                                                                                                                                                                                                                                                                          }
                                                                                                                                                                                                                                                                          $data['user_email'] = $profile->get('email');
                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                      Valdis
                                                                                                                                                                                                                                                                      05 июня 2020, 15:20
                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                      А, проклятый кэш ))) спасибо!
                                                                                                                                                                                                                                                                        Sergey (Sentinel)
                                                                                                                                                                                                                                                                        14 июля 2020, 13:47
                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                        Подскажите как то можно исключить текущий ресурс из вызова?
                                                                                                                                                                                                                                                                        {'!ecMessages' | snippet : [
                                                                                                                                                                                                                                                                            'threads' => '*,-resource-'~$_modx->resource.id,
                                                                                                                                                                                                                                                                            'tpl' => '@INLINE <li> 
                                                                                                                                                                                                                                                                                                <span>{$user_name}</span> 
                                                                                                                                                                                                                                                                                                <a href="{$thread_resource | url}" title="{$thread_resource | resource : "pagetitle"}">
                                                                                                                                                                                                                                                                                                {$text}...
                                                                                                                                                                                                                                                                                                </a> 
                                                                                                                                                                                                                                                                                            </li>',
                                                                                                                                                                                                                                                                            'limit' => 6
                                                                                                                                                                                                                                                                        ]}
                                                                                                                                                                                                                                                                        так не робит
                                                                                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                                                                                          14 июля 2020, 16:00
                                                                                                                                                                                                                                                                          +1
                                                                                                                                                                                                                                                                          Так и не будет.
                                                                                                                                                                                                                                                                          Стоит смотреть в сторону where и thread.resource != текущему ресурсу.
                                                                                                                                                                                                                                                                            Sergey (Sentinel)
                                                                                                                                                                                                                                                                            14 июля 2020, 17:16
                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                            {'!ecMessages' | snippet : [
                                                                                                                                                                                                                                                                                 'threads' => '*',
                                                                                                                                                                                                                                                                                'tpl' => '@INLINE <li> 
                                                                                                                                                                                                                                                                                                    <span>{$user_name}</span> 
                                                                                                                                                                                                                                                                                                </li>',
                                                                                                                                                                                                                                                                                'limit' => 6,
                                                                                                                                                                                                                                                                                'where' => ['thread_resource:!=' => $_modx->resource.id]
                                                                                                                                                                                                                                                                            так не работает
                                                                                                                                                                                                                                                                            подскажите, что не верно?
                                                                                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                                                                                              15 июля 2020, 10:02
                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                              Thread.resource, а не thread_resource
                                                                                                                                                                                                                                                                                Sergey (Sentinel)
                                                                                                                                                                                                                                                                                15 июля 2020, 15:06
                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                Спасибо, но не работает…
                                                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                                                  15 июля 2020, 15:12
                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                  Смотрите запрос, ошибки в логах.
                                                                                                                                                                                                                                                                                  Добавьте параметр
                                                                                                                                                                                                                                                                                  'showLog'=>1
                                                                                                                                                                                                                                                                                  хоть что там происходит при формировании запроса?
                                                                                                                                                                                                                                                                          Pavel
                                                                                                                                                                                                                                                                          15 июля 2020, 11:19
                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                          Здравствуйте. Вывел последние комментарии на главной, подскажите как прописать ссылку к комментарию. Спасибо.
                                                                                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                                                                                            15 июля 2020, 11:44
                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                            Сначала генерируете ссылку на ресурс, например, можно использовать
                                                                                                                                                                                                                                                                            {{$thread_resource|url}
                                                                                                                                                                                                                                                                            а затем еще якорь на конкретный комментарий сделать
                                                                                                                                                                                                                                                                              Pavel
                                                                                                                                                                                                                                                                              15 июля 2020, 12:09
                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                              Спасибо большое. Ссылки на ресурс достаточно, всё заработало )
                                                                                                                                                                                                                                                                            Евгений
                                                                                                                                                                                                                                                                            11 февраля 2021, 18:35
                                                                                                                                                                                                                                                                            +1
                                                                                                                                                                                                                                                                            Здравствуйте, Алексей! Благодарю за компонент, удобный.

                                                                                                                                                                                                                                                                            Есть небольшое добавление по выводу звёзд на рейтингах. Текущий ваш вариант не учитывает пробел между звёздами (который необходим, чтобы они выводились не слитно), поэтому выводит не совсем корректно. Т.е. если рейтинг 4.5, к примеру, то на 5-ой звезде он закрашен лишь чуть, а не наполовину и т.п…

                                                                                                                                                                                                                                                                            Добавил небольшую функцию в сниппет ecThreadRating, для корректной заливки.
                                                                                                                                                                                                                                                                            Кусок кода ниже. Верхушка и конец те же.

                                                                                                                                                                                                                                                                            Надеюсь пригодится!

                                                                                                                                                                                                                                                                            $count = $thread->get('count');
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                function percent($v, $max) {
                                                                                                                                                                                                                                                                                	$sw = 1/4; # space/width (depends on stars space/width on background image) default - 4px/16px
                                                                                                                                                                                                                                                                                	$percent = (intval($v) * (1 + $sw) + ($v - intval($v))) / ((1 + $sw) * $max - $sw); # percent
                                                                                                                                                                                                                                                                                	return number_format($percent * 100, 3);
                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                foreach($ratingFields as $field) {
                                                                                                                                                                                                                                                                                    $data = array_merge($data, array(
                                                                                                                                                                                                                                                                                        $field.'_wilson_percent' => percent($thread->get($field.'_wilson'), $ratingMax),
                                                                                                                                                                                                                                                                                        $field.'_simple_percent' => percent($thread->get($field.'_simple'), $ratingMax),
                                                                                                                                                                                                                                                                                        // TEST only
                                                                                                                                                                                                                                                                                        $field.'_votes' => array(),
                                                                                                                                                                                                                                                                                    ));

                                                                                                                                                                                                                                                                            P.s. Также для кастомизации звезд (свой дизайн), перевёл в scss и задал для своих размеров.
                                                                                                                                                                                                                                                                            Размеры звёзд задавать целыми (px), отступ справа тоже. Легко делается в Figma по размерам, экспорт в svg.
                                                                                                                                                                                                                                                                            Может кому пригодится (часть кода, для понимания):

                                                                                                                                                                                                                                                                            /*
                                                                                                                                                                                                                                                                             * Rating input
                                                                                                                                                                                                                                                                             **/
                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                            // Depends on stars width/height/space on background image (default values below)
                                                                                                                                                                                                                                                                            $es_w: 16; // es star width
                                                                                                                                                                                                                                                                            $es_h: 16; // es star height
                                                                                                                                                                                                                                                                            $es_space: 4; // horizontal right space (space between stars)
                                                                                                                                                                                                                                                                            ........................
                                                                                                                                                                                                                                                                            .ec-stars {
                                                                                                                                                                                                                                                                            	background-position: 0 -#{$es_h}px;
                                                                                                                                                                                                                                                                            	background-repeat: repeat-x;
                                                                                                                                                                                                                                                                            	margin: 10px 0;
                                                                                                                                                                                                                                                                            	width: #{($es_w + $es_space)*5 - $es_space}px;
                                                                                                                                                                                                                                                                            	height: #{$es_h}px;
                                                                                                                                                                                                                                                                            	//transform: scale(1.5);
                                                                                                                                                                                                                                                                            	//transform-origin: 0 0;
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                            ........................
                                                                                                                                                                                                                                                                            .ec-stars span.rating-0{width: 0;}
                                                                                                                                                                                                                                                                            @for $i from 1 through 5 {
                                                                                                                                                                                                                                                                            	.ec-stars span.rating-#{$i} {
                                                                                                                                                                                                                                                                            		width: #{($es_w + $es_space)*$i - $es_space}px;
                                                                                                                                                                                                                                                                            	}
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                            ........................
                                                                                                                                                                                                                                                                              Михаил
                                                                                                                                                                                                                                                                              21 сентября 2021, 05:07
                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                              Здравствуйте!
                                                                                                                                                                                                                                                                              Подскажите возможно ли добавить возможность указывать Положительный этот отзыв или Отрицательный?
                                                                                                                                                                                                                                                                              То есть помимо звездного рейтинга возможность ставить лайк либо дизлайк а затем выводить результат на сайте вместе с отзывом и звездами

                                                                                                                                                                                                                                                                              пример формы:
                                                                                                                                                                                                                                                                              .
                                                                                                                                                                                                                                                                              пример отзыва:
                                                                                                                                                                                                                                                                              Михаил
                                                                                                                                                                                                                                                                              05 ноября 2021, 17:08
                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                              Добрый день
                                                                                                                                                                                                                                                                              Можно ли ограничить кол-во сообщений в сутки (или в месяц) с одного ip например. Грубо говоря не более одного комментария в месяц, при попытке добавить еще одно выдавать сообщение-предупреждение.
                                                                                                                                                                                                                                                                                Наумов Алексей
                                                                                                                                                                                                                                                                                08 ноября 2021, 09:45
                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                Добрый день, штатно нет.
                                                                                                                                                                                                                                                                                Можно попробовать какой-нибудь плагин сделать на событие создания сообщения, но не уверен, что все получится 100% без вмешательство в ядро компонента
                                                                                                                                                                                                                                                                                Михаил
                                                                                                                                                                                                                                                                                05 ноября 2021, 20:05
                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                Как вывести количество сообщений только с оценкой >3
                                                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                                                  08 ноября 2021, 09:47
                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                  Самое простое сделать запрос в БД, примерно (! без проверки пишу) так:
                                                                                                                                                                                                                                                                                  $q = $modx->newQuery('ecMessage');
                                                                                                                                                                                                                                                                                  $q->where(array(
                                                                                                                                                                                                                                                                                  'thread' => 123, // id цепочки сообщения
                                                                                                                                                                                                                                                                                  'published' => 1,
                                                                                                                                                                                                                                                                                  'deleted' => 0,
                                                                                                                                                                                                                                                                                  'rating:>'  => 3,
                                                                                                                                                                                                                                                                                  ));
                                                                                                                                                                                                                                                                                  $count = $modx->getCount('ecMessage', $q);
                                                                                                                                                                                                                                                                                  Greza
                                                                                                                                                                                                                                                                                  26 января 2022, 16:33
                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                  На фронте нет возможности редактировать сообщения или отзывы?
                                                                                                                                                                                                                                                                                  В компоненте не нашел метода editMessage.
                                                                                                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                                                                                                    28 января 2022, 10:24
                                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                                    Нет, такой возможности нет
                                                                                                                                                                                                                                                                                      Greza
                                                                                                                                                                                                                                                                                      28 января 2022, 10:25
                                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                                      Не планируется?
                                                                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                                                                        28 января 2022, 10:33
                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                        пока необходимости я не встречал и не понимаю, зачем это нужно
                                                                                                                                                                                                                                                                                          Greza
                                                                                                                                                                                                                                                                                          28 января 2022, 10:35
                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                          пользователь оставил комментарий или отзыв, и хочет его исправить, как?
                                                                                                                                                                                                                                                                                    Матвей
                                                                                                                                                                                                                                                                                    06 февраля 2022, 18:44
                                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                                    Добрый день, подскажите: как подружить EasyComm и Jquery-3.6.0… У меня шаблон работает на этой версии, а easyComm yr версии 1.7…
                                                                                                                                                                                                                                                                                      Наумов Алексей
                                                                                                                                                                                                                                                                                      07 февраля 2022, 09:45
                                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                                      Добрый день. А есть какие-то проблемы совместимости? Вроде бы не встречал ранее… ошибки в консоли?
                                                                                                                                                                                                                                                                                      Руслан
                                                                                                                                                                                                                                                                                      01 октября 2022, 21:49
                                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                                      Добрый день. Можете показать пример с загрузкой файла используемый в этом компоненте. Хотелось бы отзывы с загруженными изображениями, только вот ни на маркетплейсе ни на каком то сайте пример не показан. Можете показать сайт с установленным компонентом, где можно увидеть страницу с отзывами с загрузкой фото?
                                                                                                                                                                                                                                                                                        Руслан
                                                                                                                                                                                                                                                                                        01 октября 2022, 22:06
                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                        для MODX 2.x: easyComm версии 1.x.x есть загрузка изображений?
                                                                                                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                                                                                                          02 октября 2022, 09:54
                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                          Добрый день. Да для MODX 2 прикрепление файлов есть.
                                                                                                                                                                                                                                                                                          А вот демонстрации у меня нет. В целом это выглядит как просто input type=file с атрибутом multiple.
                                                                                                                                                                                                                                                                                          В админке — просто вкладка в окне редактирования сообщения со списком файлов и возможностью ими управлять (удалить файл).
                                                                                                                                                                                                                                                                                        voodoosystem
                                                                                                                                                                                                                                                                                        06 ноября 2022, 02:22
                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                        Здравствуйте. А есть решение проблемы при обновлении компонента с 1.11.4-pl на 1.11.5-pl? «Could not download and create transport package with signature: easycomm-1.11.5-pl» (Не удалось загрузить и создать транспортный пакет с подписью: easycomm-1.11.5-pl). Чистка кэша и изменение версии PHP на предыдущие не помогает…
                                                                                                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                                                                                                          06 ноября 2022, 09:02
                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                          Добрый день! А другие пакеты устанавливаются? Обновляются? Из modstore и из официального репозитория?
                                                                                                                                                                                                                                                                                            voodoosystem
                                                                                                                                                                                                                                                                                            07 ноября 2022, 22:02
                                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                                            К сожалению в данный момент корректно обновляются пакеты только из MODX.COM, а из modstore не обновляется ни один пакет с такой ошибкой (все настройки на подключение проверены и не менялись). Но есть подозрение что все это как-то связано с переходом на версию modx 2.8.4, после этого был сделан бэкап (с УЖЕ обновленными рабочими пакетами на предыдущих версиях ниже < 2.8.4) и при реверсе на него аналогично все перестало обновляться из modstore.pro. Кстати теперь на скриншоте при ошибке можно заметить строку «You must enable allow_url_fopen, cURL or fsockopen to use remote transport packaging» Что это значит? Где искать эти настройки? В системных модкс ничего подобного не показывает…
                                                                                                                                                                                                                                                                                              Наумов Алексей
                                                                                                                                                                                                                                                                                              08 ноября 2022, 12:06
                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                              Я не знаю точной причины к сожалению ошибки. У самого бывало подобное, но не систематично как-то.
                                                                                                                                                                                                                                                                                              Есть версия, что дело может быть в том, что ваш сервер не может корректно соединится с сервером modstore из-за того, что ему «не нравится» ssl сертификат. Но это только версия.
                                                                                                                                                                                                                                                                                                voodoosystem
                                                                                                                                                                                                                                                                                                12 ноября 2022, 07:10
                                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                                К сожалению версия насчет SSL сертификата не совсем подтверждается, на сервере был выдан новый сертификат для домена и это не помогло решить проблему. Так же была протестирована новая инсталляция 2.8.4 на другой «чистый» адрес без дополнительных настроек и плагинов, проблема осталась аналогичной. Предыдущая версия 2.8.3 уже не ставится, так как установщик возвращает ошибки PHP что большинство функций устарели (deprecated). В данном случае использование репозитория modstore.pro обречено? Может быть есть какая-либо конфигурация SSL в htaccess, которая упускается из виду?
                                                                                                                                                                                                                                                                                                  voodoosystem
                                                                                                                                                                                                                                                                                                  19 ноября 2022, 10:30
                                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                                  Не поверите, но проблема решилась сама собой каким-то «аномальным образом» :) попробовал загрузить/обновить плагины через несколько дней и все работает в данный момент… Но если кому пригодится, совпадение или нет — как раз-таки на тот момент от домена была отключена на время внешняя система доставки контента и видимо просто ДНС сервера которые кэшировали данные не успели «очиститься», но это только версия :)
                                                                                                                                                                                                                                                                                          Lori
                                                                                                                                                                                                                                                                                          18 ноября 2022, 07:43
                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                          А будет ли возможность добавлять файл к уже опубликованному отзыву? Просто клиенты зачастую забывают прикреплять и потом досылают на почту файлы, а в админке его уже никак не прикрепить.
                                                                                                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                                                                                                            18 ноября 2022, 09:07
                                                                                                                                                                                                                                                                                            1
                                                                                                                                                                                                                                                                                            +1
                                                                                                                                                                                                                                                                                            Добрый день. Основной принцип — комментарий добавляется с фронта, поэтому в админке и нет кнопки загрузки файла. Но в целом наверное полезно, сделать можно… поставлю в список хотелок
                                                                                                                                                                                                                                                                                              Lori
                                                                                                                                                                                                                                                                                              18 ноября 2022, 09:33
                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                              Здравствуйте. Спасибо за такой быстрый ответ
                                                                                                                                                                                                                                                                                                Сергей С
                                                                                                                                                                                                                                                                                                08 сентября 2023, 21:46
                                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                                Очень полезно. Сейчас редактировать файлы нельзя только весь отзыв перезаливать
                                                                                                                                                                                                                                                                                              maxgmm
                                                                                                                                                                                                                                                                                              06 декабря 2022, 13:16
                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                              Добрый а подскажите плиз как сделать, чтобы у easyComm публиковалось сообщение без перезагрузки страницы
                                                                                                                                                                                                                                                                                                m.ryadn
                                                                                                                                                                                                                                                                                                22 декабря 2022, 15:05
                                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                                Добрый день!

                                                                                                                                                                                                                                                                                                Вопрос такой, возможно ли один отзыв прикреплять к нескольким цепочкам? То есть, например, при публикации отзыва клиент выбирает на какого врача он хочет оставить отзыв, какой услугой воспользовался и в какой клинике. Соответственно, как я понимаю, отзыв должен залететь в 4 цепочки: все отзывы, отзыв на врача, отзыв на услугу, отзыв на клинику.
                                                                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                                                                  23 декабря 2022, 09:39
                                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                                  Добрый день!
                                                                                                                                                                                                                                                                                                  Здесь можно попробовать так, к примеру.
                                                                                                                                                                                                                                                                                                  1. Вы привязываете отзыв к услуге (через thread).
                                                                                                                                                                                                                                                                                                  2. У отзыва есть поле subject, его можно использовать, чтобы хранить имя врача.
                                                                                                                                                                                                                                                                                                  3. Добавить новое текстовое поле clinic для клиники.

                                                                                                                                                                                                                                                                                                  На странице врача и клиники ставить у ecMessages thread=* (т.е. любая цепочка), а отзывы фильтровать через where по полям subject и clinic/
                                                                                                                                                                                                                                                                                                    m.ryadn
                                                                                                                                                                                                                                                                                                    23 декабря 2022, 14:22
                                                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                                                    Спасибо, сделал, но довольно странная ситуация.

                                                                                                                                                                                                                                                                                                    Пытаюсь вывести отзывы на странице врача. Если написать имя и фамилию врача самому в поле where, то всё ок, выводится, но если брать те же данные из поля pagetitle например, то пусто. При этом если смотреть логи, то запросы абсолютно идентичны.

                                                                                                                                                                                                                                                                                                    Так не работает:
                                                                                                                                                                                                                                                                                                    {$_modx->runSnippet('!ecMessages', [
                                                                                                                                                                                                                                                                                                                'tpl' => '@FILE chunks/reviews_message.tpl',
                                                                                                                                                                                                                                                                                                                'limit' => 0,
                                                                                                                                                                                                                                                                                                                'thread' => *,
                                                                                                                                                                                                                                                                                                                'sortby' => 'date',
                                                                                                                                                                                                                                                                                                                'where' => '{"doctor":"{$_modx->resource.pagetitle}"}',
                                                                                                                                                                                                                                                                                                                'showLog' => 1
                                                                                                                                                                                                                                                                                                            ])}
                                                                                                                                                                                                                                                                                                    Так все норм:
                                                                                                                                                                                                                                                                                                    {$_modx->runSnippet('!ecMessages', [
                                                                                                                                                                                                                                                                                                                'tpl' => '@FILE chunks/reviews_message.tpl',
                                                                                                                                                                                                                                                                                                                'limit' => 0,
                                                                                                                                                                                                                                                                                                                'thread' => *,
                                                                                                                                                                                                                                                                                                                'sortby' => 'date',
                                                                                                                                                                                                                                                                                                                'where' => '{"doctor":"Имя фамилия"}',
                                                                                                                                                                                                                                                                                                                'showLog' => 1
                                                                                                                                                                                                                                                                                                            ])}
                                                                                                                                                                                                                                                                                                      m.ryadn
                                                                                                                                                                                                                                                                                                      23 декабря 2022, 17:58
                                                                                                                                                                                                                                                                                                      +1
                                                                                                                                                                                                                                                                                                      В итоге нужно писать так оказывается:

                                                                                                                                                                                                                                                                                                      'where' => '{"doctor:=": '~ $_modx->resource.pagetitle ~'}',
                                                                                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                                                                                        24 декабря 2022, 06:06
                                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                                        Или вот так, просто передавая массив, а не JSON строку:
                                                                                                                                                                                                                                                                                                        'where' => ["doctor" => $_modx->resource.pagetitle],
                                                                                                                                                                                                                                                                                                  Михаил
                                                                                                                                                                                                                                                                                                  30 декабря 2022, 03:05
                                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                                  Как сделать ссылку на страницу отзыва? Что то типа Читать отзыв подробнее (как на Отзовик.ру)
                                                                                                                                                                                                                                                                                                    Наумов Алексей
                                                                                                                                                                                                                                                                                                    30 декабря 2022, 08:01
                                                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                                                    У отзыва нет отдельной страницы. реализовать, естественно, это можно, вариантов реализации много.
                                                                                                                                                                                                                                                                                                    Простой способ — передавать id отзыва через GET параметр при запросе к специальной странице «Читать отзыв». Ну и там далее получать этот отзыв из базы и выводить.
                                                                                                                                                                                                                                                                                                      Михаил
                                                                                                                                                                                                                                                                                                      09 января 2023, 14:21
                                                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                                                      Создал отдельную страницу — вывожу там отзыв
                                                                                                                                                                                                                                                                                                      [[!ecMessages?
                                                                                                                                                                                                                                                                                                      &threads=`*`
                                                                                                                                                                                                                                                                                                      &tpl=`tpl.ecMessages.Row.all`
                                                                                                                                                                                                                                                                                                      &limit=``
                                                                                                                                                                                                                                                                                                      &messages=`5`
                                                                                                                                                                                                                                                                                                      ]]
                                                                                                                                                                                                                                                                                                      Делаю ссылку отзыву «Читать весь отзыв» site.ru/reviews?id=5
                                                                                                                                                                                                                                                                                                      Вопрос как автоматизировать этот процесс?
                                                                                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                                                                                        09 января 2023, 16:09
                                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                                        Самое простое:

                                                                                                                                                                                                                                                                                                        [[!ecMessages?
                                                                                                                                                                                                                                                                                                        &threads=`*`
                                                                                                                                                                                                                                                                                                        &tpl=`tpl.ecMessages.Row.all`
                                                                                                                                                                                                                                                                                                        &limit=``
                                                                                                                                                                                                                                                                                                        &messages=`[[!getMessageIdFromRequest]]`
                                                                                                                                                                                                                                                                                                        ]]
                                                                                                                                                                                                                                                                                                        и создаем сниппет getMessageIdFromRequest:
                                                                                                                                                                                                                                                                                                        <?
                                                                                                                                                                                                                                                                                                        $messageId = intval($modx->getOption('id', $scriptProperties, 0));
                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                        return $messageId;
                                                                                                                                                                                                                                                                                                        но тут нет никакой «защиты» от неверно переданного id (несуществующего, например, или удаленного).
                                                                                                                                                                                                                                                                                                          Михаил
                                                                                                                                                                                                                                                                                                          09 января 2023, 17:50
                                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                                          Спасибо!
                                                                                                                                                                                                                                                                                                          Сделал так
                                                                                                                                                                                                                                                                                                          [[!ecMessages?
                                                                                                                                                                                                                                                                                                          &threads=`*`
                                                                                                                                                                                                                                                                                                          &tpl=`tpl.ecMessages.Row.all`
                                                                                                                                                                                                                                                                                                          &limit=``
                                                                                                                                                                                                                                                                                                          &messages=`[[!get? &need=`id`]]`
                                                                                                                                                                                                                                                                                                          ]]
                                                                                                                                                                                                                                                                                                          сниппет get
                                                                                                                                                                                                                                                                                                          <?php
                                                                                                                                                                                                                                                                                                          return $_GET[$need];
                                                                                                                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                                                                                                                            10 января 2023, 10:09
                                                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                                                            Да, что-то я совсем не то написал в своем сниппете)))
                                                                                                                                                                                                                                                                                                      Oleg
                                                                                                                                                                                                                                                                                                      07 января 2023, 15:07
                                                                                                                                                                                                                                                                                                      0
                                                                                                                                                                                                                                                                                                      Всем привет. Как на сниппет ecForm повесить hook? Может сталкивался кто. В AjaxForm такой параметр есть.

                                                                                                                                                                                                                                                                                                      'hooks' => 'FormItSaveForm,email,spam, telegramForm',
                                                                                                                                                                                                                                                                                                        Наумов Алексей
                                                                                                                                                                                                                                                                                                        09 января 2023, 10:50
                                                                                                                                                                                                                                                                                                        +1
                                                                                                                                                                                                                                                                                                        Добрый день!
                                                                                                                                                                                                                                                                                                        Механизма хуков нет, есть возможность повесить плагин (в смысле обычный плагин MODX) на различные события (создание сообщения, удаление и т.п.).
                                                                                                                                                                                                                                                                                                        Андрей
                                                                                                                                                                                                                                                                                                        14 февраля 2023, 12:43
                                                                                                                                                                                                                                                                                                        0
                                                                                                                                                                                                                                                                                                        Добрый день. Подскажите, есть ли какая-то возможность рассчитывать и выводить суммарно-средний рейтинг и количество оценок в категории. Объясню на примере. Допустим есть 3 чайника в категории. У первого 3 оценки и 5 баллов рейтинг, у второго 4 оценки и 4,5 бала рейтинга, у третьего 1 оценка и 5 баллов рейтинг.
                                                                                                                                                                                                                                                                                                        Можно ли как-то вывести на странице категории, что на товары в данной категории уже есть 8 оценок и средний балл = (5+4,5+5)/3= 4,83?
                                                                                                                                                                                                                                                                                                          Наумов Алексей
                                                                                                                                                                                                                                                                                                          16 февраля 2023, 06:05
                                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                                          Добрый день! У компонента нет такого. Нужно что-то писать самому. Я бы предложил для ускорения работы результат вычисления сохранять у категории в доп поле (хоть в тв).
                                                                                                                                                                                                                                                                                                          Andrew
                                                                                                                                                                                                                                                                                                          21 февраля 2023, 19:57
                                                                                                                                                                                                                                                                                                          0
                                                                                                                                                                                                                                                                                                          Добрый день, нужна помощь зала, может кто нибудь сталкивался с подобной проблемой)
                                                                                                                                                                                                                                                                                                          Сайт с контекстами.
                                                                                                                                                                                                                                                                                                          Заказчик хочет, чтобы на странице товара, в отзывах о товаре, показывались отзывы со всех контекстов этого товара. Благодаря threads в сниппете ecMessages, эту проблему вроде удалось решить используя такую конструкцию:
                                                                                                                                                                                                                                                                                                          {set $theadweb = 'question-'~$_modx->runSnippet("!BabelTranslation", [
                                                                                                                                                                                                                                                                                                                     'contextKey' => 'web', 
                                                                                                                                                                                                                                                                                                                     'resourceId' => $_modx->resource.id])}
                                                                                                                                                                                                                                                                                                          {set $theadby = 'question-'~$_modx->runSnippet("!BabelTranslation", [
                                                                                                                                                                                                                                                                                                                     'contextKey' => 'by', 
                                                                                                                                                                                                                                                                                                                     'resourceId' => $_modx->resource.id])}        
                                                                                                                                                                                                                                                                                                          {$_modx->runSnippet("!ecMessages", [
                                                                                                                                                                                                                                                                                                                    'tpl' => '@FILE chunks/tpl_question.tpl',
                                                                                                                                                                                                                                                                                                                    'threads' => "$theadweb, $theadby"])}
                                                                                                                                                                                                                                                                                                          а вот со сниппетом ecThreadRating такой фокус не проходит, так как там изначально нету параметра threads, и соответственно нельзя указать несколько цепочек комментариев для обработки сниппетом.
                                                                                                                                                                                                                                                                                                          Может кто подскажет как можно решить данную проблему или натолкнёт на правильный ход мыслей?
                                                                                                                                                                                                                                                                                                            Наумов Алексей
                                                                                                                                                                                                                                                                                                            22 февраля 2023, 11:45
                                                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                                                            Конечно, рейтинг же хранится и считается для каждой цепочки отдельно.
                                                                                                                                                                                                                                                                                                            Напишите свой сниппет, основываясь на ecThreadRating, который будет брать кол-во отзывов и рейтинг обоих цепочек и «складывать» нужным вам способом.
                                                                                                                                                                                                                                                                                                              Andrew
                                                                                                                                                                                                                                                                                                              22 февраля 2023, 17:11
                                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                                              Жаль в php не силён, а так бы обязательно воспользовался вашим советом, да и вообще, написал бы молча свой ecThreadRatingCustom и не лез бы сюда с дурными вопросами).
                                                                                                                                                                                                                                                                                                              Поэтому и спрашиваю, может у кого была похожая задача и он её решил? Тем более я не первый с таким вопросом:
                                                                                                                                                                                                                                                                                                              Виктор
                                                                                                                                                                                                                                                                                                              07 марта 2018, 19:41

                                                                                                                                                                                                                                                                                                              Приветствую! Такой вопрос возник — как можно вывести общий рейтинг из нескольких ресурсов?

                                                                                                                                                                                                                                                                                                              На счетчике сообщений проблем нет — справляется параметр threads, а на рейтинге то он отсутствует. Можно его как-то прикрутить или нужно сделать какой-то альтернативный вызов?
                                                                                                                                                                                                                                                                                                                Наумов Алексей
                                                                                                                                                                                                                                                                                                                23 февраля 2023, 05:21
                                                                                                                                                                                                                                                                                                                +1
                                                                                                                                                                                                                                                                                                                Допустим, есть 3 цепочки (3 товара).
                                                                                                                                                                                                                                                                                                                1: 5 отзывов, рейтинг 4
                                                                                                                                                                                                                                                                                                                2: 180 отзывов, рейтинг 3,5
                                                                                                                                                                                                                                                                                                                3. 1 отзыв, рейтинг 5

                                                                                                                                                                                                                                                                                                                Вопрос: какой средний рейтинг у категории с этими товарами? Просто сложить рейтинг и поделить на кол-во отзывов? Ну нет… да и вообще, как это звучит по логике?.. Средний рейтинг всех наших мобильных телефонов равен 4? Как-то не очень понятно звучит… а если внутри категории «Телефоны» с десяток подразделов (да еще вложенных в 2-3 уровня), а внутри порядка 500 товаров… что с этим делать, как считать? А если используется miniShop2 с его мультикатегориями… у меня столько вопросов возникает))) а если товар перенести в другой раздел, все пересчитывать?..

                                                                                                                                                                                                                                                                                                                А конкретно в вашем случае я бы рассмотрел возможность сделать для каждого товара только одну цепочку с отзывами, например по артикулу: product-ARTICLE вместо стандартного resource-ID (так у вас 2 цепочки отзывов для фактически одного товара).
                                                                                                                                                                                                                                                                                                                  Andrew
                                                                                                                                                                                                                                                                                                                  25 февраля 2023, 10:06
                                                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                                                  Ого, я так далеко не заглядывал) Мне две цепочки объединить надо, всего-то)
                                                                                                                                                                                                                                                                                                                  Ну и спасибо за дельный совет, попробую реализовать.
                                                                                                                                                                                                                                                                                                            Сергей
                                                                                                                                                                                                                                                                                                            10 ноября 2023, 14:18
                                                                                                                                                                                                                                                                                                            0
                                                                                                                                                                                                                                                                                                            Расширяю плагином отзывы, чтобы можно было ставить галочки и еще доп. поля. Делаю все по инструкции из документации. Текстовые поля сохраняются в админке, галочки нет. Поля xtype: 'xcheckbox'. В базе создал по типу поля «Опубликован». Ошибок в консоли нет. Не работает именно сохранение в базу. В чем может быть причина?
                                                                                                                                                                                                                                                                                                              Сергей
                                                                                                                                                                                                                                                                                                              11 ноября 2023, 15:06
                                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                                              Отвечу сам себе. Не указал
                                                                                                                                                                                                                                                                                                              inputValue: 1
                                                                                                                                                                                                                                                                                                              у полей xtype: 'xcheckbox'
                                                                                                                                                                                                                                                                                                              Никита
                                                                                                                                                                                                                                                                                                              11 марта 2024, 16:32
                                                                                                                                                                                                                                                                                                              0
                                                                                                                                                                                                                                                                                                              Приветствую, столкнулся с такой задачей. Нужно сохранять номер телефона с кодом страны, сайт мультиязычный. Код стран реализован через intl-tel-input.
                                                                                                                                                                                                                                                                                                              Не могу понять как мне реализовать это через ключ {user_contacts}

                                                                                                                                                                                                                                                                                                              При отправке формы intl-tel-input записывает номер телефона в скрытое поле
                                                                                                                                                                                                                                                                                                              <input type="hidden" name="full-phone" value="+37251234567">
                                                                                                                                                                                                                                                                                                                Наумов Алексей
                                                                                                                                                                                                                                                                                                                11 марта 2024, 19:19
                                                                                                                                                                                                                                                                                                                +1
                                                                                                                                                                                                                                                                                                                Привет! Ну как-то сказать, чтобы intl-tel-input записывал номер телефона в скрытое поле user_contacts. Родное поле (которое в стандартной форме easyComm есть) убрать конечно же, чтобы не дублировалось.
                                                                                                                                                                                                                                                                                                                Не забыть указать поле user_contacts в параметре allowedFields сниппета ecForm.
                                                                                                                                                                                                                                                                                                                Сергей
                                                                                                                                                                                                                                                                                                                17 сентября 2024, 13:16
                                                                                                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                                                                                                Добрый день!
                                                                                                                                                                                                                                                                                                                Делаю разметку Product в форм JSON-LD
                                                                                                                                                                                                                                                                                                                Вывожу сообщение по средствам сниппета
                                                                                                                                                                                                                                                                                                                {$_modx->runSnippet('!ecMessages', ['tpl' => 'tpl.ecMessages.Row.md'])}

                                                                                                                                                                                                                                                                                                                Код чанка
                                                                                                                                                                                                                                                                                                                {
                                                                                                                                                                                                                                                                                                                      "@type": "Review",
                                                                                                                                                                                                                                                                                                                      "author": "{$user_name}",
                                                                                                                                                                                                                                                                                                                      "datePublished": "{$date | dateAgo}",
                                                                                                                                                                                                                                                                                                                      "reviewBody": "{$text}",
                                                                                                                                                                                                                                                                                                                      "reviewRating": {
                                                                                                                                                                                                                                                                                                                        "@type": "Rating",
                                                                                                                                                                                                                                                                                                                        "ratingValue": "{$rating}",
                                                                                                                                                                                                                                                                                                                        "bestRating": "5",
                                                                                                                                                                                                                                                                                                                        "worstRating": "1"
                                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                                    },
                                                                                                                                                                                                                                                                                                                Проблема заключается в том, что в последнем или единственном отзыве не должно быть запятой.
                                                                                                                                                                                                                                                                                                                Пока что сделал лимит 1 и выставил без запятой чанк.
                                                                                                                                                                                                                                                                                                                Как прописать условие не пойму ни как.
                                                                                                                                                                                                                                                                                                                  Наумов Алексей
                                                                                                                                                                                                                                                                                                                  17 сентября 2024, 14:25
                                                                                                                                                                                                                                                                                                                  +1
                                                                                                                                                                                                                                                                                                                  Если у вас еще старая версия easyComm, где у сниппета ecMessages параметр tpl отвечает за вывод одного отзыва, то поместите эту запятую в параметр outputSeparator:

                                                                                                                                                                                                                                                                                                                  {$_modx->runSnippet('!ecMessages', ['tpl' => 'tpl.ecMessages.Row.md', 'outputSeparator' => ', '])}
                                                                                                                                                                                                                                                                                                                  И чанка, само собой, убираем.
                                                                                                                                                                                                                                                                                                                    Сергей
                                                                                                                                                                                                                                                                                                                    17 сентября 2024, 14:29
                                                                                                                                                                                                                                                                                                                    0
                                                                                                                                                                                                                                                                                                                    Спасибо! работает) До такого я бы точно не додумался)
                                                                                                                                                                                                                                                                                                                  Максим
                                                                                                                                                                                                                                                                                                                  11 ноября 2024, 00:45
                                                                                                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                                                                                                  Добрый день. Скажите, а есть возможность все отзывы, что соберутся на сайте вывести в одном месте?
                                                                                                                                                                                                                                                                                                                  Идея — есть N товаров, у каждого товара M отзывов. Хочу на странице Отзывы вывести все отзывы всех товаров, получится?
                                                                                                                                                                                                                                                                                                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                                                                                                                                                                                                                                                                  536