qwelp.questions · Руководство по подключению

Документация

Вопросы о товаре: полное руководство по установке, настройке и использованию. Версия 1.0.0.

Начало

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

Установите решение через «Marketplace → Установленные решения → Квэлп: Вопросы о товаре → Установить». Затем откройте «Квэлп → Квэлп: Вопросы». Установка добавляет компонент и административные страницы; место вывода на сайте выбираете вы.

  1. Откройте настройки модуля, выберите сайт и оставьте ручную модерацию для первого запуска.
  2. Добавьте компонент «Вопросы о товаре» в шаблон карточки товара — готовый пример находится в разделе «Подключение».
  3. Войдите как покупатель, задайте вопрос и одобрите его в списке модерации. Проверьте результат без авторизации.

Для чтения авторизация не нужна. Для вопроса, ответа и голосования требуется учётная запись сайта.

Подключение

Включите режим правки на странице товара и скопируйте шаблон компонента 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 задаёт существующую страницу правил относительно каталога сайта; пустое значение скрывает ссылку.

Модерация

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

Рабочие настройки находятся в «Квэлп → Квэлп: Вопросы → Настройки». В штатном разделе «Настройки модулей» остаётся только вкладка «Доступ». В рабочих настройках доступны ручная и автоматическая публикация. При ручной модерации новые записи ждут проверки. Статус вопроса также ограничивает видимость его ответов.

ПравоВозможности
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; }

Стандартный шаблон использует собственные стили и штатные средства Битрикса. Обновление модуля не перезаписывает клиентский шаблон.

Проверка

  1. Проверьте пустой список и товар с опубликованными вопросами. Откройте форму, закройте её и откройте снова.
  2. Под обычной учётной записью отправьте вопрос и ответ. Проверьте минимальную длину, ограничение частоты, голосование и выбор лучшего ответа.
  3. Одобрите и отклоните записи; сравните видимость у автора, модератора и гостя.
  4. Повторите после включения кеша и Композита. Проверьте второй запрос, несколько экземпляров и замену блока через AJAX.
  5. В многосайтовой установке повторите на каждом сайте: настройки и вопросы должны относиться к выбранному сайту.
Если блок не появился

Проверьте установку модуля, корректность товара и инфоблока, привязку инфоблока к сайту, права чтения и ошибки 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_TIMECACHE_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С-Битрикс.