Skip to content
msReviews
msReviews
Отзывы, рейтинг, Q&A и JSON-LD для MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Extras
  2. msReviews
  3. Начало работы
  4. Системные настройки

Системные настройки ​

Откройте Система → Настройки, фильтр namespace msreviews.

Области (area) ​

AreaСодержание
msreviews_moderationАвтопубликация, несколько отзывов, отмена заказа
msreviews_mediaЗагрузка фото, лимиты, ссылки на видео
msreviews_emailОчередь писем, статусы заказа, шаблоны
msreviews_antispamHoneypot, CrawlerDetect, rate limit, чёрные списки
msreviews_frontendVerified-first, JS/CSS, формат даты, порядок Q&A
msreviews_ratingsАлгоритм агрегата (average / wilson)
msreviews_schemaJSON-LD, FAQPage, источник рейтинга
msreviews_engagement«Полезно», самоправка/самоудаление
msreviews_serviceCron-ключ, class_key товаров

Модерация ​

КлючТипПо умолчаниюОписание
msreviews_auto_publish_verifiedboolean0Автопубликовать отзывы с verified
msreviews_auto_publish_guestboolean0Автопубликовать гостевые отзывы
msreviews_allow_multiple_reviews_per_productboolean0Второй отзыв возможен. При 0 повтор по тому же заказу и товару не публикуется сразу, даже если msreviews_auto_publish_verified = 1
msreviews_reject_on_cancelboolean1Учитывать отмену заказа при verified
msreviews_cancelled_order_status_idstext(пусто)ID статусов MS3 «отменён» через запятую

Медиа ​

КлючТипПо умолчаниюОписание
msreviews_media_enabledboolean1Загрузка фото к отзыву
msreviews_media_max_filesnumber5Макс. файлов на отзыв
msreviews_media_max_size_mbnumber5Макс. размер файла (МБ)

Письма (очередь запросов) ​

КлючТипПо умолчаниюОписание
msreviews_request_enabledboolean1Письма с просьбой оставить отзыв
msreviews_request_order_statusestext(пусто)ID статусов заказа: запуск очереди
msreviews_request_delay_hoursnumber72Задержка перед отправкой (ч)
msreviews_request_token_ttl_daysnumber30TTL ссылки в письме (дни)
msreviews_request_email_subject_chunktexttplMsReviewsEmailSubjectЧанк темы письма
msreviews_request_email_body_chunktexttplMsReviewsEmailBodyЧанк тела письма
msreviews_moderator_notify_enabledboolean0Письмо модератору о новом отзыве или вопросе с витрины
msreviews_moderator_notify_emailstext(пусто)Адреса через запятую
msreviews_moderator_notify_ontextpending_onlypending_only — только pending, all — любой новый с витрины
msreviews_moderator_email_subject_chunktext(пусто)Чанк темы. Пустое имя — лексикон. Задано имя, пустой вывод — ERROR в лог, письмо не уходит
msreviews_moderator_email_body_chunktext(пусто)Чанк тела. Как у темы

msReviews Order status слушает msOnChangeOrderStatus. Очередь: CMP или cron, action=request/process, ключ msreviews_cron_key.

Уведомление модератора ​

Включите msreviews_moderator_notify_enabled, укажите msreviews_moderator_notify_emails. На новый отзыв или вопрос с витрины — письмо со ссылкой в CMP.

С 1.2.2 письма пакета (модератор, invite, reply/answer) — text/html. Свой чанк может содержать вёрстку. Текст из лексикона: escape и <br>.

  • По умолчанию (pending_only) письмо уходит только для материалов со статусом pending. Значение all включает и автоматически опубликованные.
  • CSV-импорт и создание отзыва в CMP письма не шлют.
  • Плейсхолдеры чанков: type / status (подписи из лексикона), type_key / status_key (коды review, pending, …), id, product_id, manager_url.
  • Лексикон подставляется только если имя чанка пустое. Если имя задано, а чанк вернул пустую строку, в лог пишется [msReviews] moderator email … chunk empty, письмо не уходит.
  • Отмена отправки: плагин на msrOnModeratorNotify → return false. См. События.

Витрина ​

КлючТипПо умолчаниюОписание
msreviews_verified_first_enabledboolean1Verified выше обычных (после закреплённых)
msreviews_frontend_js_enabledboolean1Подключать JS сниппетами
msreviews_frontend_css_enabledboolean1Подключать CSS сниппетами
msreviews_storefront_date_formattextd.m.YФормат даты в карточке (PHP date()). Пустой dateFormat у msReviews, msReviewsLatest и msQuestionsLatest берёт эту настройку
msreviews_qna_form_positiontextafterQ&A: after (список → форма) или before

Рейтинг ​

КлючТипПо умолчаниюОписание
msreviews_aggregate_algorithmtextaverageaverage или wilson
msreviews_wilson_positive_minnumber4Порог «позитивной» оценки для Wilson (1–5)

Schema.org ​

КлючТипПо умолчаниюОписание
msreviews_schema_enabledboolean1Вывод JSON-LD через msReviewSchema
msreviews_schema_qna_enabledboolean1FAQPage в JSON-LD
msreviews_schema_rating_sourcetextmeanmean или display в разметке

Антиспам ​

КлючТипПо умолчаниюОписание
msreviews_honeypot_enabledboolean1Скрытое поле в формах
msreviews_honeypot_fieldtextmsr_hpИмя поля → POST data[msr_hp]
msreviews_crawler_block_enabledboolean0Блок ботов (CrawlerDetect)
msreviews_rate_limit_per_hournumber3Лимит создания отзыва и вопроса. Fingerprint: SHA-256 от IP и укороченного User-Agent. 0 выключает лимит
msreviews_rate_limit_retention_daysnumber7Хранение записей rate limit
msreviews_spam_actiontextpendingpending или spam. Любое другое значение читается как pending
msreviews_blacklist_emailstextarea(пусто)Email через запятую
msreviews_blacklist_domainstextarea(пусто)Домены
msreviews_blacklist_ipstextarea(пусто)Полный IPv4 или IPv6, запятая или новая строка. Совпадение точное
msreviews_blacklist_wordstextarea(пусто)Стоп-слова
msreviews_trust_proxy_headersboolean0При 1 IP — первый адрес из X-Forwarded-For. Списка доверенных прокси нет. Включайте только при своём прокси перед сайтом

Engagement ​

КлючТипПо умолчаниюОписание
msreviews_helpful_voting_enabledboolean1Голос «полезно»
msreviews_vote_rate_limit_per_hournumber60Лимит голосов «полезно» с fingerprint IP и User-Agent. В коде порог max(1, значение), поэтому 0 лимит не снимает
msreviews_self_edit_enabledboolean1Редактирование своего отзыва
msreviews_self_delete_enabledboolean1review/delete_own ставит статус archived. Строка остаётся
msreviews_self_edit_window_minutesnumber15Минуты после создания для правки и delete_own. Значение меньше 1 становится 1. После ответа магазина оба действия отвечают msr_err_shop_replied
msreviews_self_edit_to_pendingboolean1После правки — снова на модерацию

Служебные ​

КлючТипПо умолчаниюОписание
msreviews_cron_keytext(пусто)Секрет для action=request/process
msreviews_product_class_keytextmsProductНесколько ключей через запятую. Без \ сравнение LIKE '%ключ', поэтому msProduct покрывает MiniShop3\Model\msProduct. С \ нужно полное равенство. Используется в поиске CMP type=product и метрике products_without_reviews. С 1.2.5 не ограничивает вкладку «Отзывы» и parents

Verified purchase ​

Флаг is_verified можно выставить двумя способами:

  1. На витрине — при review/create с валидным токеном заказа из письма или URL (msr_token).
  2. В CMP — чекбокс Verified purchase в диалоге «Добавить/Редактировать отзыв» (право review_moderate, с 1.1.0).

Покупатель на сайте ​

  1. Заказ переходит в статус из msreviews_request_order_statuses → запись в очередь.
  2. Письмо со ссылкой ?msr_token=…&msr_product_id=….
  3. msReviewForm на странице товара подхватывает токен.
  4. При msreviews_auto_publish_verified=1 verified-отзыв может опубликоваться сразу.
  5. При msreviews_reject_on_cancel и списке msreviews_cancelled_order_status_ids отменённый заказ не даёт verified.

Модератор в CMP ​

В форме создания или редактирования отзыва включите Verified purchase. Связь с заказом MS3 (order_id) при этом не создаётся: для ручных отзывов поле остаётся пустым.

Порядок отзывов на витрине ​

pinned DESC. При msreviews_verified_first_enabled verified выше обычных. Далее дата публикации.

Коннектор ​

Публичный URL:

fenom
{$_modx->getOption('assets_url')}components/msreviews/connector.php
modx
[[++assets_url]]components/msreviews/connector.php

См. AJAX API.