qwelp.questions · Руководство по подключению
Документация
Вопросы о товаре: полное руководство по установке, настройке и использованию. Версия 1.0.0.
Начало
Покупатели задают вопросы о товаре, отвечают и голосуют за полезные ответы. Автор вопроса или модератор может выбрать лучший ответ.
Установите решение через «Marketplace → Установленные решения → Квэлп: Вопросы о товаре → Установить». Затем откройте «Квэлп → Квэлп: Вопросы». Установка добавляет компонент и административные страницы; место вывода на сайте выбираете вы.
- Откройте настройки модуля, выберите сайт и оставьте ручную модерацию для первого запуска.
- Добавьте компонент «Вопросы о товаре» в шаблон карточки товара — готовый пример находится в разделе «Подключение».
- Войдите как покупатель, задайте вопрос и одобрите его в списке модерации. Проверьте результат без авторизации.
Для чтения авторизация не нужна. Для вопроса, ответа и голосования требуется учётная запись сайта.
Подключение
Включите режим правки на странице товара и скопируйте шаблон компонента bitrix:catalog.element в шаблон своего сайта. Откройте template.php этой копии и вставьте пример после описания товара, вне уже открытого блока PHP. Значения берутся из текущей карточки; ID в этом примере менять не нужно:
<?php $APPLICATION->IncludeComponent('qwelp:questions.list', '', [
'ELEMENT_ID' => $arResult['ID'],
'IBLOCK_ID' => $arResult['IBLOCK_ID'],
'PRODUCT_NAME' => $arResult['NAME'],
'QUESTIONS_PER_PAGE' => '0',
'RULES_PATH' => '',
'CACHE_TYPE' => 'A',
'CACHE_TIME' => '0',
], $component); ?>Значение 0 для количества вопросов и времени кеша, а также пустой RULES_PATH наследуют настройки выбранного сайта. Скрипты и стили подключает компонент. Дополнительный код в init.php не нужен.
При загрузке вместо неоформленного блока показывается заглушка с сортировкой, аватаром, строками вопроса и кнопкой. Она включена в первый HTML и в заглушку Композита. Готовый блок появляется после загрузки базовых стилей, стилей шаблона и актуальных данных. Если загрузка не удалась, появляется сообщение и кнопка повтора.
Размещение на отдельной странице
Создайте обычную страницу средствами Битрикса. В визуальном редакторе найдите «Вопросы о товаре» в группе Qwelp или вставьте вызов в PHP-режиме между подключениями шапки и подвала:
<?php $APPLICATION->IncludeComponent('qwelp:questions.list', '', [
'ELEMENT_ID' => '123',
'IBLOCK_ID' => '7',
'QUESTIONS_PER_PAGE' => '0',
'RULES_PATH' => '',
'CACHE_TYPE' => 'A',
'CACHE_TIME' => '0',
]); ?>В параметрах компонента выберите «Инфоблок» из списка активных инфоблоков текущего сайта. Список показывает ID и название; для ручного ID используйте «другое значение». ID товара укажите вручную — он должен принадлежать выбранному инфоблоку.
Замените 123 на ID товара, а 7 — на ID его инфоблока. Их можно посмотреть в списке элементов и настройках инфоблока. Это пример значений, а не данные, создаваемые установкой. Товар должен быть активен, а инфоблок — привязан к текущему сайту и доступен посетителю.
После подключения сохраните параметры компонента без изменений, затем измените количество вопросов, например на 3, и сохраните ещё раз. Проверьте оба результата в обычном режиме и в режиме правки. Для вложенного компонента сохраните передачу $component.
Несколько блоков на одной странице поддерживаются. Каждый экземпляр получает собственный товарный контекст. Параметр RULES_PATH задаёт существующую страницу правил относительно каталога сайта; пустое значение скрывает ссылку.
Модерация
- Перейдите в «Квэлп → Квэлп: Вопросы → На модерации» и выберите сайт.
- Откройте вопрос, проверьте текст и ответы. Одобрите подходящую запись либо отклоните её.
- Проверьте карточку товара: опубликованный ответ появляется у покупателей; отклонённый не отображается.
Рабочие настройки находятся в «Квэлп → Квэлп: Вопросы → Настройки». В штатном разделе «Настройки модулей» остаётся только вкладка «Доступ». В рабочих настройках доступны ручная и автоматическая публикация. При ручной модерации новые записи ждут проверки. Статус вопроса также ограничивает видимость его ответов.
| Право | Возможности |
|---|---|
| D | Доступ в администрирование модуля закрыт. |
| M | Модерация вопросов и ответов, удаление, документация. |
| W | Модерация, настройки модуля и права групп. |
Лимиты защищают от частой отправки: по умолчанию 3 вопроса и 10 ответов за 300 секунд на пользователя. Параметры задаются отдельно для каждого сайта.
Почтовые уведомления
При установке модуль создаёт типы почтовых событий на русском и английском языках и активные HTML-шаблоны для языков действующих сайтов. Шаблоны привязываются к этим сайтам. Редактирование доступно в «Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны»; найдите события с префиксом QWELP_QUESTIONS_.
QWELP_QUESTIONS_NEW_QUESTION— администратору о новом вопросе, ожидающем модерации. Письмо содержит текст вопроса, товар, автора и ссылку на этот вопрос с выбранным сайтом. При автоматической публикации такое письмо не отправляется.QWELP_QUESTIONS_NEW_ANSWER— администратору о новом ответе со ссылкой на вопрос.QWELP_QUESTIONS_THREAD_REPLY— автору вопроса и участникам с опубликованными ответами о новом опубликованном ответе, с текстом и ссылкой на товар. Автор ответа не уведомляется о своём ответе; одинаковые адреса не дублируются, адрес администратора исключается. Учитываются активность пользователя и доступ к товару.QWELP_QUESTIONS_BEST_ANSWER— автору ответа, выбранного лучшим.
Адрес администратора берётся из поля E-mail в настройках соответствующего сайта; если поле пустое — из общего адреса отправителя главного модуля. Адрес пользователя берётся из его профиля. Проверьте адреса, активность шаблонов и привязку к сайту. Письма передаются в штатную почтовую очередь Битрикса; фактическая доставка зависит от обработки очереди и настройки почты сервера. Сам модуль не подключает внешнюю почтовую службу.
В рабочих настройках рядом с шаблоном URL товара доступна кнопка «Переменные». Выберите код в открывшемся окне: он вставляется в позицию курсора или заменяет выделение. Это действие не сохраняет настройки автоматически. Поддерживаются #SITE_DIR#, #IBLOCK_ID#, #ELEMENT_ID#/#ID#, #ELEMENT_CODE#/#CODE#, #SECTION_ID#, #SECTION_CODE# и #SECTION_CODE_PATH#. Путь задаётся относительно каталога выбранного сайта; #SITE_DIR# заменяется пустой строкой, каталог добавляется автоматически. Пустое поле использует шаблон инфоблока. Окно закрывается крестиком, клавишей Escape или нажатием за его пределами; кнопки доступны с клавиатуры.
Голосовать за собственный вопрос или ответ нельзя, в том числе администратору. При отказе в голосовании показывается причина, полученная от сервера. Если подтверждение не получено, обновите страницу и проверьте состояние голоса перед повторной попыткой.
После подтверждённой сервером отправки вопроса или ответа рядом со списком остаётся видимое сообщение. При ручной модерации оно поясняет, что запись появится после одобрения; при автоматической публикации подтверждает публикацию. Сообщение не зависит от всплывающих уведомлений и не исчезает по таймеру. Ожидающая запись до одобрения не добавляется в публичный список.
При отправке ответа кнопка показывает «Отправляем…», форма временно блокируется от повторной отправки. При отказе текст остаётся в форме. Сообщение о предыдущей отправке означает, что запрос ещё выполняется; это не лимит количества ответов. При достижении лимита сообщение показывает количество ответов и период в секундах. После потери соединения сначала проверьте, появился ли ответ, чтобы не отправить его повторно.
Оформление
Скопируйте весь каталог /bitrix/components/qwelp/questions.list/templates/.default/ в /local/templates/ВАШ_ШАБЛОН/components/qwelp/questions.list/.default/. Копируйте вместе PHP, CSS, JavaScript и lang: они образуют один шаблон.
Меняйте style.css в вашей копии. Базовый стиль находится рядом в base.css, разметка — в template.php, динамические карточки — в view.js. После изменения очистите кеш компонента.
Пример своего цвета
.qwq-questions { --qwq-color-link: #246b97; --qwq-color-link-rgb: 36, 107, 151; }Стандартный шаблон использует собственные стили и штатные средства Битрикса. Обновление модуля не перезаписывает клиентский шаблон.
Проверка
- Проверьте пустой список и товар с опубликованными вопросами. Откройте форму, закройте её и откройте снова.
- Под обычной учётной записью отправьте вопрос и ответ. Проверьте минимальную длину, ограничение частоты, голосование и выбор лучшего ответа.
- Одобрите и отклоните записи; сравните видимость у автора, модератора и гостя.
- Повторите после включения кеша и Композита. Проверьте второй запрос, несколько экземпляров и замену блока через AJAX.
- В многосайтовой установке повторите на каждом сайте: настройки и вопросы должны относиться к выбранному сайту.
Если блок не появился
Проверьте установку модуля, корректность товара и инфоблока, привязку инфоблока к сайту, права чтения и ошибки JavaScript. Убедитесь, что старые копии в /local/ не перекрывают установленный компонент или расширение.
Старый шаблон не обновляется автоматически: сравните его с текущим стандартным шаблоном перед обновлением.
Справка
Требуются PHP 8.2 или выше и главный модуль Битрикса 25.900.0 или выше, модуль «Информационные блоки». Код использует синтаксис PHP 8.2.
| Параметр | Назначение |
|---|---|
| ELEMENT_ID / IBLOCK_ID | Товар и его инфоблок. |
| PRODUCT_NAME | Название в форме вопроса. |
| QUESTIONS_PER_PAGE | От 1 до 50; 0 выбирает настройку сайта, по умолчанию 5. |
| RULES_PATH | Страница правил относительно каталога сайта; пусто — настройка сайта. |
| CACHE_TYPE / CACHE_TIME | CACHE_TYPE: A — автокеширование, Y — кешировать, N — не кешировать. CACHE_TIME: 0 наследует настройку сайта; явное время ограничивается 60–36000000 секундами. |
По умолчанию модуль устанавливается в /bitrix/modules/qwelp.questions/, компонент — в /bitrix/components/qwelp/questions.list/, расширение — в /bitrix/js/qwelp/questions/. Общий /local/ не требуется. Клиентские копии в /local/ имеют приоритет и сохраняются.
Удаление и сохранение данных
Откройте «Marketplace → Установленные решения», выберите модуль и удаление. По умолчанию сохраняются вопросы, ответы и голоса. Снятие флажка подтверждает удаление этих данных. Изменённые и неучтённые пользовательские файлы автоматически не удаляются; при конфликте операция сообщает об ошибке.
События браузера: qwelp:questions-auth (отменяемый запрос авторизации), qwelp:questions-count (число вопросов). Подключайте свои обработчики на стороне сайта.
Для гостя кнопки голосования и «Задать вопрос» открывают окно штатной авторизации Битрикса поверх текущей страницы. Положение страницы сохраняется. После входа страница обновляется для применения новой сессии. Восстановление пароля, регистрация и дополнительные проверки выполняются штатными формами Битрикса. Обработчик события qwelp:questions-auth может отменить стандартное окно через preventDefault() и открыть форму сайта.
Сверено с документацией модуля 11.10.2026. Примеры PHP предназначены для вашего сайта на 1С-Битрикс.