Wild Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 К примеру в некой категории 15 страниц товаров. Если, к примеру, ввести ссылку ?page=17, то получаем страницу без товаров. Как в этом случае сделать редирект на последнюю (или первую) страницу? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 в контроллере вам становится известно сколько страниц, там и проверяйте Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Просто в контроллере сначала строится массив фильтра со стартовой страницей ($page - 1) * $limit и другими параметрами. потом на его основании получаем список продуктов getProducts потом получаем их общее количество через getTotalProducts и только потом уже можем рассчитать реальное количество страниц. Т.е. при указанной page=999999 по факту мы уже получили ПУСТОЙ массив товаров с учетом фильтра. Вот сижу и туплю... Сделать перед основной выборкой товара такой же запрос и на основании его результата выставить $page=1 повторить его уже с этим параметром? Кривоватый костыль... Я не перфекционист, но все же может подскажете более красивое решение? Или я чего-то упустил в логике работы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 странно, открыл 2.3 $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); А то что в $filter_data лежит офсет, то для getTotalProducts несущественно. Даже в вашем случае - лишний запрос не помеха принять решение 1 Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Я тупанул... getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию). Лимиты, сортировка, порядок и стартовая позиция ей пофигу. Спасибо. Но возникла другая проблема... Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999. Т.е. фактически мы находимся на странице 999 с данными от 1. Как грамотно сделать корректный редирект? Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 в контроллере вам становится известно сколько страниц, там и проверяйте Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Просто в контроллере сначала строится массив фильтра со стартовой страницей ($page - 1) * $limit и другими параметрами. потом на его основании получаем список продуктов getProducts потом получаем их общее количество через getTotalProducts и только потом уже можем рассчитать реальное количество страниц. Т.е. при указанной page=999999 по факту мы уже получили ПУСТОЙ массив товаров с учетом фильтра. Вот сижу и туплю... Сделать перед основной выборкой товара такой же запрос и на основании его результата выставить $page=1 повторить его уже с этим параметром? Кривоватый костыль... Я не перфекционист, но все же может подскажете более красивое решение? Или я чего-то упустил в логике работы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 странно, открыл 2.3 $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); А то что в $filter_data лежит офсет, то для getTotalProducts несущественно. Даже в вашем случае - лишний запрос не помеха принять решение 1 Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Я тупанул... getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию). Лимиты, сортировка, порядок и стартовая позиция ей пофигу. Спасибо. Но возникла другая проблема... Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999. Т.е. фактически мы находимся на странице 999 с данными от 1. Как грамотно сделать корректный редирект? Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Просто в контроллере сначала строится массив фильтра со стартовой страницей ($page - 1) * $limit и другими параметрами. потом на его основании получаем список продуктов getProducts потом получаем их общее количество через getTotalProducts и только потом уже можем рассчитать реальное количество страниц. Т.е. при указанной page=999999 по факту мы уже получили ПУСТОЙ массив товаров с учетом фильтра. Вот сижу и туплю... Сделать перед основной выборкой товара такой же запрос и на основании его результата выставить $page=1 повторить его уже с этим параметром? Кривоватый костыль... Я не перфекционист, но все же может подскажете более красивое решение? Или я чего-то упустил в логике работы? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 странно, открыл 2.3 $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); А то что в $filter_data лежит офсет, то для getTotalProducts несущественно. Даже в вашем случае - лишний запрос не помеха принять решение 1 Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Я тупанул... getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию). Лимиты, сортировка, порядок и стартовая позиция ей пофигу. Спасибо. Но возникла другая проблема... Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999. Т.е. фактически мы находимся на странице 999 с данными от 1. Как грамотно сделать корректный редирект? Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 странно, открыл 2.3 $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); А то что в $filter_data лежит офсет, то для getTotalProducts несущественно. Даже в вашем случае - лишний запрос не помеха принять решение 1 Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Я тупанул... getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию). Лимиты, сортировка, порядок и стартовая позиция ей пофигу. Спасибо. Но возникла другая проблема... Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999. Т.е. фактически мы находимся на странице 999 с данными от 1. Как грамотно сделать корректный редирект? Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Я тупанул... getTotalProducts ведь просто получает количество ВСЕХ товаров с учетом фильтра по категориям и выбранному фильтру (простите за тавтологию). Лимиты, сортировка, порядок и стартовая позиция ей пофигу. Спасибо. Но возникла другая проблема... Сделав $page=1, я получаю корректные данные, но в строке адреса все равно светится ?page=999. Т.е. фактически мы находимся на странице 999 с данными от 1. Как грамотно сделать корректный редирект? Надіслати Поділитися на інших сайтах More sharing options... Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень
Wild Опубліковано: 7 грудня 2018 Автор Share Опубліковано: 7 грудня 2018 Или может тупо сделать редирект на 404, как вы думаете? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Переход на несуществующий номер страницы
chukcha Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 Я бы делал редирект на первую страницу Надіслати Поділитися на інших сайтах More sharing options... alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
alena967 Опубліковано: 7 грудня 2018 Share Опубліковано: 7 грудня 2018 1 час назад, Wild сказал: Или может тупо сделать редирект на 404, как вы думаете? правильно ,но при условии что 404 страница нестандартная,а с ссылками на главную, на основные категории сайта или на нужные товары , типа такого: Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts