Установка

#DEFAULT_INSTALL#

Настройка

После установки модуля в визуальном редакторе в разделе Тюнинг-Софт появится раздел с компонентом списка вопросов и ответов
Компонент: Список вопросов и ответов

Вам необходимо настроить этот компонент, где-то в карточке товара в коде разместить и передать в параметры минимум два значения товара, вообще доступно пять:

1) IBLOCK_ID - Идентификатор инфоблока
Обязательно в этот ключ надо передать идентификатор инфоблока, например:
"IBLOCK_ID" => $arResult["IBLOCK_ID"]

2) ELEMENT_ID - Идентификатор элемента
В этот ключ надо передать идентификатор элемента/товара/статьи/новости и т.д., например:
"ELEMENT_ID" => $arResult["ID"]

3) PAGE_URL - Относительный адрес страницы товара из настроек инфоблока
Это необязательный параметр, в него нужно передавать относительные url - товара инфоблока, например:
"PAGE_URL" => $arResult["DETAIL_PAGE_URL"]

Если оставить пустым, компонент сам возьмет адрес элемента в инфоблоке, просто это +1 запрос к БД, если ваш сайт работает медленно и есть такая возможность передать адрес товара, рекомендую все же передать, но дополнительно получать адрес и передавать сюда смысла нет, тогда лучше оставить пустым.

4) XML_ID - Внешний код элемента (строка макс. 255 символов)
Если на вашем сайте идентификаторы элемента изменяются периодически или настроена синхронизация с 1С, то возможно вам подойдет привязка вопросов не к ELEMENT_ID в к XML_ID

5) CODE - Символьный кода элемента (строка макс. 255 символов)
Также добавил на всякий случай привязку к коду элемента, бывает и такой случай, когда айдишники изменяются, а символьный код товара сохраняется, тогда вам подойдет привязка вопросов не к ELEMENT_ID в к CODE

Т.е. обязательно надо передать в компонент идентификатор инфоблока и один из трех идентификаторов товара:
IBLOCK_ID + ELEMENT_ID|XML_ID|CODE

Это все, если все настроили верно, вопросы будут привязываться к Инфоблоку и Товару, привязка к инфоблоку обязательна.

Готовый код вызова компонента, имейте ввиду, с годами модуль обновляется, часть настроек тут могут быть устаревшими, но я стараюсь их обновлять.
<? $APPLICATION->IncludeComponent(
    "api:qa.list",
    "",
    array(
        "IBLOCK_ID" => $arResult["IBLOCK_ID"],
        "ELEMENT_ID" => $arResult["ID"],
        "XML_ID" => "",
        "CODE" => "",
        "PAGE_URL" => "",
        "INCLUDE_CSS" => "Y",
        "THEME" => "flat",
        "COLOR" => "orange1",
        "HASH" => "",
        "FORM_QUESTION_MESS_TITLE" => "Задать вопрос",
        "FORM_QUESTION_MESS_SUBMIT" => "Отправить",
        "FORM_QUESTION_MESS_SUBMIT_AJAX" => "Отправляется",
        "FORM_QUESTION_MESS_REPLY" => "Получать ответы на почту",
        "FORM_QUESTION_MESS_NAME" => "Ваше имя *",
        "FORM_QUESTION_MESS_EMAIL" => "Эл. почта *",
        "FORM_QUESTION_MESS_TEXT" => "Вопрос *",
        "FORM_ANSWER_MESS_TITLE" => "Добавить ответ",
        "FORM_ANSWER_MESS_SUBMIT" => "Отправить",
        "FORM_ANSWER_MESS_SUBMIT_AJAX" => "Отправляется",
        "FORM_ANSWER_MESS_REPLY" => "Получать ответы на почту",
        "FORM_ANSWER_MESS_NAME" => "Ваше имя *",
        "FORM_ANSWER_MESS_EMAIL" => "Эл. почта *",
        "FORM_ANSWER_MESS_TEXT" => "Ответ *",
        "LIST_QUESTION_MESS_EXPERT" => "Эксперт",
        "LIST_QUESTION_MESS_BUTTON_ANSWER" => "Ответить",
        "LIST_QUESTION_MESS_BUTTON_EDIT" => "Изменить",
        "LIST_QUESTION_MESS_BUTTON_DELETE" => "Удалить",
        "LIST_QUESTION_MESS_LINK" => "Ссылка на вопрос/ответ №#ID#",
        "LIST_QUESTION_MESS_BUTTON_SAVE" => "Сохранить",
        "LIST_QUESTION_MESS_BUTTON_CANCEL" => "Отмена",
        "LIST_QUESTION_MESS_CONFIRM_DELETE" => "Желаете удалить запись №#ID#?",
        "LIST_QUESTION_MESS_TEXT_DELETE" => "Сообщение удалено"
    ),
    false
); ?>

Дополнительно

  • Вопросы/ответы/комментарии можно сделать для любой информации, которая записывается в инфоблоки в виде элементов, хоть статьи, хоть новости, хоть товары.
  • На странице можно сделать даже несколько счетчиков комментариев, в любом месте дизайна вставьте вот этот html-код, скрипт найдет все элементы с этим классом и подставит в него число комментариев типа (256)
    <span class="api-qa-count"></span>
  • Если вопросы встроены в табы и чтобы при переходе по ссылкам из почты в карточке товара переключались табы с хэшем/якорем, в настройках компонента предусмотрен параметр #Якорь детальной ссылки, в него надо вписать ваш якорь и он будет подставляться во все ссылки в самом конце, например, у меня это #tab-qa, в коде будет выглядеть так "HASH" => "#tab-qa"
    У вас табы могут быть, но возможности переключения их по якорю может и не быть, в этом случае либо меняйте плагин с табами, либо оставляйте эту настройку пустой, т.к. она вам не поможет.
  • Компонент  необходимо размещать вне кэша, если он закэшируется в карточке товара в html, то ничего работать конечно не будет
  • Разместить компонента можно в некэшируемых файлах шаблона компонента, которые вводят товары, например:
    component_epilog.php, element.php
  • Если вопросы и ответы нужно обязательно размещать в шаблоне в файле template.php, то при включенном кэшировании вам поможет доп. модуль TS Некешируемая область
  • Если на вашем сайте включен Композит, то модуль TS Некешируемая область вам не поможет, в этом случае пробуйте размечать динамические области и размещать там компонент с вопросами.
    Bitrix\Main\Page\Frame::getInstance()->startDynamicWithID("ID");
    //Компонент с вопросами
    Bitrix\Main\Page\Frame::getInstance()->finishDynamicWithID("ID", "");
    Или такой вариант
    $dynamicArea = new \Bitrix\Main\Page\FrameStatic("reviews");
    $dynamicArea->setAnimation(true);
    $dynamicArea->setStub('');
    $dynamicArea->setContainerID("reviews");
    $dynamicArea->startDynamicArea();
    ?>
    //Компонент с вопросами
    <?
    $dynamicArea->finishDynamicArea();

  • Либо вообще отключите кэш в карточке товара и все проблемы решатся одной кнопкой, если не хотите заморачиваться, это конечно моветон, но, смотрите сами, всякое в жизни бывает, бывает и с отключенным кэшем сайт быстрее работает)
  • Чтобы не приходили свои Ответы на вопросы, удалите #BCC# в поле Скрытая копия в почтовом шаблоне API_QA_ANSWER_ADD
    https://monosnap.com/file/uQOKNRmIyplr1nuEyjw51C0E6D3mFp.png


TUNING-SOFT.RU
*— обязательные для заполнения поля
Войти через социальные сети