yiiliveext писал(а): ↑2020.01.15, 01:25
Вы это
https://github.com/nirvana-msu/yii2-infinite-scroll расширение используете?
Если да, то попробуете такой вариант. Те что я выше приводил не будут работать, там не стандартная пагинация.
Код: Выделить всё
function loadPage(url) {
$.get(url, function(data) {
var pagination = $(data).filter('ul.pagination');
$('#listview-products').html($(data).filter('#listview-products').html());
if (pagination.length > 0) {
$('ul.pagination').html(pagination.html());
} else {
$('ul.pagination').remove();
}
});
}
Расширение это.
Проверил с утра, фильтры не проходили. При фильтрации запрос был, а реакции не было от loadPage. Демо сайта есть, нужно обновить
там без расширения
P.S. Если обновлю с этим loadPage, то работать как хотелось бы не будет. Закинуть изменения?
P.P.S.
Покажу наглядно, чтобы было понятно, что происходит. Изменил на чуть ранее версию loadPage, чтобы работали фильтры.
1. Загружена страница
http://prntscr.com/qnvqpc в URL ничего не прописано еще.
2. Выбираю фильтр
http://prntscr.com/qnvr4f блок с пагинацией пропал, к URL дописалось
?ProductsSearch[options]=1-1 http://prntscr.com/qnvrqj
3. Просто листаю вниз. Вот что происходит по запросам
http://prntscr.com/qnvsj5 дальше срабатывает InfiniteScrollPager и добавляет мне просто вторую страницу
http://prntscr.com/qnvtbz
Однако, если загрузить страницу
/products/kategoria-11?ProductsSearch[options]=1-1 не через load, а путем обновления. Тогда InfiniteScrollPager не добавляет ничего и подгрузки нет.
Как-то надо запретить ему загружать данные, если отсутствует пагинатор. Или вариант удаления пагинатора, если он присутствует после фильтрации и создания нового как тут
http://prntscr.com/qnvwnt с измененным URL
Для последнего скриншота сделал фильтр с тремя позициями и отображение по 2 элемента, чтоб появился пагинатор как нужно.
Посмотрел, что в $.get
Код: Выделить всё
console.log($(data).filter('#listview-products').html());
Выдает undefined
Тут возвращает объект и
length: 0
Код: Выделить всё
console.log($(data).filter('#listview-products'));