Налаштування рейтингу та відгуків про продавців маркетплейсу 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування рейтингу та відгуків про продавців маркетплейсу 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування рейтингу та відзивів про продавців маркетплейсу 1С-Bitrix

Система відзивів про продавців — це не те саме, що відзиви про товари в стандартному модулі Каталог. Відзив про продавця прив'язаний до конкретного замовлення, може бути залишений тільки покупцем, який дійсно отримав товар, і впливає на видимість продавця в каталозі.

Зберігання відзивів та рейтингу

Стандартний компонент blog.post.list / forum для цього не підходить. Потрібен HL-інфоблок або користувацька таблиця:

Таблиця відзивів mp_vendor_reviews:

Поле Тип Описание
ID int, AI
VENDOR_ID int FK на продавця
USER_ID int FK на покупця
ORDER_ID int FK на замовлення/суб-замовлення
RATING tinyint 1–5
TEXT text Текст відзиву
STATUS varchar pending / approved / rejected
CREATED_AT datetime
MODERATED_AT datetime

Індекс на (VENDOR_ID, STATUS) — для швидкого розрахунку рейтингу.

Рейтинг продавця зберігається в таблиці продавців денормалізовано: UF_RATING (float) та UF_RATING_COUNT (int). Оновлюється після кожного схвореного відзиву.

Логіка: хто та коли може залишити відзив

Тільки покупець, чиє суб-замовлення перейшло у статус delivered, може залишити відзив. Перевірка при спробі залишити відзив:

$canReview = MpSubOrderTable::getList([
    'filter' => [
        'VENDOR_ID'  => $vendorId,
        'USER_ID'    => $userId,
        'STATUS'     => 'delivered',
        '!REVIEW_ID' => false  // ще не залишав відзив
    ]
])->fetch();

Повторний відзив на того ж продавця в рамках одного замовлення — заборонено. На інше замовлення — дозволено.

Модерація відзивів

Нові відзиви переходять у статус pending. Модератор схвалює або відхиляє через адміністративний інтерфейс. При схваленні — перерахунок рейтингу продавця:

$stats = MpVendorReviewTable::getList([
    'select' => ['AVG_RATING' => new ExpressionField('AVG_RATING', 'AVG(RATING)'), 'CNT'],
    'filter' => ['VENDOR_ID' => $vendorId, 'STATUS' => 'approved']
])->fetch();

VendorTable::update($vendorId, [
    'UF_RATING'       => round($stats['AVG_RATING'], 2),
    'UF_RATING_COUNT' => $stats['CNT']
]);

Відзиви без модерації можливі, але ризиковані — спам та фальсифікація.

Відображення рейтингу

Рейтинг та відзиви виводяться на сторінці продавця та на карточках його товарів. Шаблони компонентів читають UF_RATING з таблиці продавців — це швидко. Список відзивів — окремий AJAX-запит з пагінацією, щоб не навантажувати сторінку повністю.

Терміни

Зберігання відзивів, логіка доступу, перерахунок рейтингу, базова модерація — 1–2 тижні. Додавання відповідей продавця на відзиви, сортування за рейтингом у каталозі — додатково 3–5 днів.