Forums / National / Russian / Тех. поддержка / Пагинация на AJAX не работает

prostogorod
#48623 2026-02-17 11:32

Спасибо, многие вопросы решил, остался главный- формирования url пагинации фильтра. Этот скрипт возвращает фокус внимания пользователя с блока пагинации на обновленный контент. Страница перезагружается и браузер сам плавно "прыгает" наверх, может кому-то пригодится.

$(document).on('ajaxSuccess', function() {
    var container = $('#news-container');
    if (container.length > 0) {
        $('html, body').animate({
            scrollTop: container.offset().top - 20 // 20px запас сверху
        }, 400);
    }
});

 

Пишу плагин фильтрации и запутался в архитектуре ссылок.

Логика сейчас:

1.Данные фильтра летят через AJAX.

2.Обработчик filter.ajax.php отдает готовый HTML (результаты + пагинация).

3.JS вставляет это в контейнер: $("#auto-filter-content").html(response.html); в page.list.tpl.

Вопросы:

1. URL пагинации: Как правильно формировать ссылки в пагинации внутри AJAX-ответа? Должны ли они вести на основной листинг (например, /category?d=2) или на обработчик фильтра? Как в таком случае сохранять состояние фильтров при переходе по страницам?

2. Контейнеры: Обязательно ли id блока пагинации должен совпадать с id основного контента, если я обновляю всё разом?

3. Маршрутизация: Стоит ли перенести логику из отдельного файла на хук standalone (URL типа /filter), чтобы корректно работало ЧПУ и системные переменные Cotonti? Если, да, то желательно с примером. У меня здесь ступор, я не знаю как сделать? Верне не знаю, как на этом хуке обработчик на аякс работал?

This post was edited by prostogorod (2026-02-17 11:55, 1 month ago)