# Квэлп: Отзывы и комментарии

Полное руководство из встроенной справки qwelp.reviews. Версия 1.0.0, сверка 11.10.2026.

## Начало

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

1. Установите решение через Marketplace → Установленные решения. В настройках модуля выберите сайт и разрешённые каталоги; оставьте ручную модерацию для первого запуска.
2. В режиме правки страницы добавьте компонент «Отзывы» в карточку товара и укажите текущий товар. Пример для разработчика находится ниже.
3. Войдите обычным пользователем, отправьте отзыв и одобрите его в разделе Квэлп → Отзывы и комментарии. Обновите карточку товара: отзыв и оценка должны появиться.

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

Рабочие параметры находятся в Квэлп → Отзывы и комментарии → Настройки: выберите сайт, затем инфоблоки по названию. В Настройки → Настройки модулей → Отзывы и комментарии остаётся вкладка «Доступ» для назначения прав. «Документация» — последний пункт меню модуля.

:::details Пример кода

```php
$APPLICATION->IncludeComponent(
    'qwelp:reviews.list',
    '',
    [
        'ELEMENT_ID' => (int)$arResult['ID'],
        'REVIEWS_PER_PAGE' => 10,
        'CACHE_TYPE' => 'A',
        'CACHE_TIME' => 86400,
    ],
    $component
);
```

:::

## Подключение

Вставьте пример в шаблон детального просмотра товара после основной информации. В этом месте `$arResult['ID']` должен содержать ID товара, а `$component` — родительский компонент. На отдельной странице замените выражение ID числом существующего товара и передайте `false` последним аргументом.

| Параметр | Значение |
| --- | --- |
| ELEMENT_ID | ID активного доступного товара текущего сайта. |
| REVIEWS_PER_PAGE | Число отзывов на странице: от 1 до 100. |
| CACHE_TYPE | A — управляемое кеширование, N — без кеша. |
| CACHE_TIME | Срок кеша в секундах; рекомендуемый пример — 86400. |

Модуль устанавливает общие компоненты в `/bitrix/components/qwelp/`, ресурсы — в `/bitrix/js/qwelp/reviews/`. У сайтов могут быть независимые каталоги `/local/` или не быть их вовсе.

:::details Вложенные компоненты и Композит

Если родитель сохраняет весь HTML дочернего компонента, вынесите отзывы за пределы кешируемого фрагмента либо в динамическую область Битрикса. Проверьте повторное открытие формы после попадания в кеш и после AJAX-замены. Не помещайте персональные данные и sessid в общий HTML.

:::

:::details Пример кода

```php
$APPLICATION->IncludeComponent(
    'qwelp:reviews.list',
    '',
    [
        'ELEMENT_ID' => (int)$arResult['ID'],
        'REVIEWS_PER_PAGE' => 10,
        'CACHE_TYPE' => 'A',
        'CACHE_TIME' => 86400,
    ],
    $component
);
```

:::

## Модерация

1. Откройте Квэлп → Отзывы и комментарии → Все отзывы.
2. Выберите сайт и источник: товары или магазин. Фильтр «На модерации» показывает ожидающие отзывы о товарах.
3. Откройте действие записи: одобрение делает отзыв публичным, отклонение скрывает. Удаление удаляет выбранную запись с её зависимыми данными.

В настройках можно включить автоматическое одобрение, разрешить отзывы только покупателям, задать лимиты вложений и частоту комментариев. Для первого запуска проверяйте ручной режим обычной учётной записью.

| Право | Доступ |
| --- | --- |
| D | Нет доступа к администрированию. |
| R, E | Чтение. |
| M | Чтение и модерация. |
| W | Модерация и настройки. |

:::details Почтовые уведомления

Установщик создаёт почтовые события для нового отзыва, одобрения, отклонения, ответа администратора и нового комментария. Проверьте адрес администратора сайта и почтовые шаблоны в настройках почтовых событий Битрикса. Отправку нужно проверить реальным тестовым сообщением на разрешённый адрес.

:::

### Отзывы о магазине

1. Откройте Квэлп → Отзывы и комментарии → Настройки и выберите сайт.
2. Инфоблок создаётся при установке автоматически. Для прежней установки или нового сайта нажмите «Подготовить автоматически». Можно выбрать существующий совместимый инфоблок по названию и нажать «Применить».
3. Ссылка «Параметры инфоблока» открывает его штатную форму Битрикса. «Открыть отзывы» ведёт к списку; создание и редактирование записей выполняются штатными формами Битрикса.

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

## Оформление

Стандартный шаблон поставляется с собственными стилями и работает без других модулей Qwelp. Для изменения цветов задайте переменные модуля в своём CSS.

1. Скопируйте папку `/bitrix/components/qwelp/reviews.list/templates/.default/` в `/local/templates/ВАШ_ШАБЛОН/components/qwelp/reviews.list/.default/`.
2. Сохраните все файлы папки, включая `script.js`, `view.js`, `style.css`, языковые файлы и `component_epilog.php`. Вносите оформление в собственную копию.
3. Проверьте обычное и узкое окно, авторизацию, вложения и повторное открытие формы. Сохраните параметры компонента без изменения, затем измените допустимое число отзывов на странице.

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

:::details Пример кода

```
.sl-reviews, .sl-reviews__modal-auth {
    --qwr-color-link: #175c87;
    --qwr-color-link-hover: #124c70;
    --qwr-color-dark: #223747;
    --qwr-color-white: #ffffff;
}
```

:::

## Справка

Для работы нужны PHP 8.2+, главный модуль Битрикса 23.0+ и модули «Информационные блоки» и «Торговый каталог». Проверка покупки использует штатный модуль «Интернет-магазин».

| Настройка | Назначение |
| --- | --- |
| Каталоги и сайт | Отзывы и настройки разделены по сайтам. Пустой список разрешает каталоги, привязанные к текущему сайту. |
| Вложения | Разрешённые расширения, максимальный размер файла и число файлов; проверяются также тип и геометрия изображений. |
| Свойства рейтинга | Коды свойств средней оценки и числа отзывов каталога. Проверьте типы и права перед включением синхронизации. |
| CAPTCHA | Без дополнительного провайдера действуют штатные настройки защиты авторизации, регистрации и восстановления пароля Битрикса. |

:::details Точки расширения

`OnBuildProductUrl` получает element и siteId; обработчик возвращает EventResult::SUCCESS с локальным url. `OnResolveAuthCaptchaProvider` принимает provider, реализующий `Qwelp\Reviews\Service\AuthCaptchaProvider`. Обработчики размещаются в проекте клиента. Событие браузера `qwelp:reviews-auth-request` позволяет явно подключить собственную форму входа через preventDefault().

:::

:::details Удаление и восстановление

Сначала создайте резервную копию. В штатной форме удаления выберите сохранение данных, если планируете повторную установку. Удаление данных необратимо; проверьте выбранный модуль. Изменённые клиентом файлы защищены проверкой принадлежности: конфликт нужно разобрать перед повторной операцией.

:::

:::details Пример кода

```php
if (\Bitrix\Main\Loader::includeModule('qwelp.reviews')) {
    $query = \Bitrix\Main\DI\ServiceLocator::getInstance()->get(
        \Qwelp\Reviews\Service\ReviewQueryService::class
    );
    $summary = $query->getSummary((int)$arResult['ID']);
}
```

:::
