Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
catalog.smart.filter - ajax обновление списка без AXAJ_MODE
// В шаблоне bitrix:catalog.smart.filter редактируем script.js - ищим функцию JCSmartFilter.prototype.postHandler и редактируем следующее
//if (modef.style.display === 'none')
//{
// modef.style.display = 'inline-block';
//}
$.get(
result.FILTER_AJAX_URL,
function (data) {
$('.catalog-list').html($(data).find('.catalog-list').html());
}
);
// .catalog-list - селектор который необходимо обновить. Естественно jQuery должен быть подключен.
@VasiliuKr

This comment has been minimized.

Copy link
Owner Author

@VasiliuKr VasiliuKr commented Mar 17, 2017

Обновляет список товаров в каталоге по изменению свойства в фильтре без перезагрузки страницы.

@madcatgith

This comment has been minimized.

Copy link

@madcatgith madcatgith commented Mar 18, 2019

В 18ой версии не работало, пока не исправил url:

$.get(
    BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL), 
    function (data) {
        $('.catalog-list').html($(data).find('.catalog-list').html());
    }
);
@sl3w

This comment has been minimized.

Copy link

@sl3w sl3w commented Mar 23, 2021

Можно еще сделать так, чтобы обновлялось без перезагрузки страницы, но по нажатию на какую-нибудь кнопку.
Получается, что-то вроде такого:

$(document).on('click', $('any-button-selector'), function () {
    $.get( BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL),
        function (data) { 
            $('.catalog-list').html($(data).find('.catalog-list').html()); 
        }
     );
 });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment