Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Переход на несуществующий номер страницы


Recommended Posts

К примеру в некой категории 15 страниц товаров.
Если, к примеру, ввести ссылку ?page=17, то получаем страницу без товаров.
Как в этом случае сделать редирект на последнюю (или первую) страницу?

Надіслати
Поділитися на інших сайтах

Просто в контроллере сначала строится массив фильтра со стартовой страницей ($page - 1) * $limit и другими параметрами.

потом на его основании получаем список продуктов getProducts

потом получаем их общее количество через getTotalProducts

и только потом уже можем рассчитать реальное количество страниц.

Т.е. при указанной page=999999 по факту мы уже получили ПУСТОЙ массив товаров с учетом фильтра.

Вот сижу и туплю...
Сделать перед основной выборкой товара такой же запрос и на основании его результата выставить $page=1 повторить его уже с этим параметром?
Кривоватый костыль...

Я не перфекционист, но все же может подскажете более красивое решение?

Или я чего-то упустил в логике работы?

Надіслати
Поділитися на інших сайтах

странно, открыл 2.3

            $product_total = $this->model_catalog_product->getTotalProducts($filter_data);

            $results = $this->model_catalog_product->getProducts($filter_data);



А то что в $filter_data лежит офсет, то для getTotalProducts несущественно.

Даже в вашем случае - лишний запрос не помеха принять  решение

  • +1 1
Надіслати
Поділитися на інших сайтах

Я тупанул...
getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию).
Лимиты, сортировка, порядок и стартовая позиция ей пофигу.

Спасибо.

Но возникла другая проблема...
Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999.
Т.е. фактически мы находимся на странице 999 с данными от 1.
Как грамотно сделать корректный редирект?

Надіслати
Поділитися на інших сайтах

1 час назад, Wild сказал:

Или может тупо сделать редирект на 404, как вы думаете? 

правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого:

image.thumb.png.03e4d0e732034675796cf37e69fd1e96.png

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.