Как правильно перенести форму отзывов непосредственно в карточку товара?

Как известно, возможности оставлять отзывы о товаре в карточке товара нет, поскольку форма для написания отзывов находится на 

адрес_до_товара/reviews/. Это неудобно для заказчиков, поэтому я попытался перенести это дело в карточку товара.

Я сделал следующее:

1) добавил {include file="reviews.html" inline} в произвольное место в product.html

2) поменял все $reviews_count на $reviews_total_count

3) в reviews.js изменил location.href.replace(/(\/(#)\/[^#]*|\/#|\/$)|((\/\?|\?).*)/g, '') + '/add/' на location.href.replace(/(\/(#)\/[^#]*|\/#|\/$)|((\/\?|\?).*)/g, '') + '/reviews/add/'

Вроде заработало, но этого недостаточно поскольку такие переменные как $current_auth_source, $request_captcha, $reply_allowed возвращают null при импорте reviews.html в product.html.

Из-за этого не отображаются дополнительный поля типа "имя", "почта", а также капча(когда включена), в то время как на /reviews/ всё работает. Также не отображаются комментарии к отзыву.

Подскажите, как сделать так, чтобы всё, что работает на /reviews/ работало в карточке товара?

2 ответа

  • 1
    Николай 28 августа 2019 13:22 #

    Если проблема до сих пор не решена, вы можете разместить описание своего задания в разделе «Поиск проектов и экспертов». Вам также может быть полезна документация разработчика Webasyst. Для получения расширенной платной помощи воспользуйтесь услугами наших партнёров.

  • 2
    ig52 1 марта 2020 09:27 #

    1) добавил {include file="reviews.html" inline} в произвольное место в product.html

    2) поменял все $reviews_count на $reviews_total_count

    в reviews.js изменил

    function addReview(form) {
    var href = location.pathname + 'reviews/add/',
    form_data = getData(form);
    return $.ajax({
    url: href,
    data: form_data,
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST',
    success: onSuccess,
    error: function(jqXHR, errorText) {
    if (console) {
    console.error("Error", errorText);
    }
    }
    });

    Но отзывы не отображаются в карточке товара

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите