COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Coolfilter и пагинация


Recommended Posts

Привет сообществу


 


Обнаружил такой глюк.


 


Предположим, есть 20 товаров одного производителя и 2 товара другого.


Если зайти на вторую страницу категории (&page=2) и выбрать фильтром бренд с двумя товарами, то появится сообщение, что товаров нет. Причина — товаров всего два и они должны быть на первой странице. Но поскольку мы не на первой, то появляется это сообщение.


 


Есть идеи как разрулить ситуацию?


 


 


Ссылка на комментарий
Поделиться на других сайтах

версия какая ? и главное какой шаблон ? скорее всего какой то из быстрых стартов ?


вот тут есть обсуждение http://forum.ocshop.info/index.php?/topic/366-инструкция-по-настройке-coolfilter/?p=6679


Ссылка на комментарий
Поделиться на других сайтах

версия какая ? и главное какой шаблон ? скорее всего какой то из быстрых стартов ?

вот тут есть обсуждение http://forum.ocshop.info/index.php?/topic/366-инструкция-по-настройке-coolfilter/?p=6679

Версия 1.5.6.4.1, шаблон стандартный. Поставил сейчас CMS с нуля, баг присутствует. По ссылке обсуждение есть, но решения нет. А глюк серьезный, сводящий на нет работу фильтра.

Как сделать, чтобы при изменении параметров выборки кулфильтра сбрасывалась $_GET['page'].

Ссылка на комментарий
Поделиться на других сайтах

Набросал решение. Не самый лучший вариант, но работает.

 

Суть всего — из шаблона через GET шлем метку, в контроллере ее отлавливаем, формируем URL без метки и page, затем редирект на первую страницу категории.


В шаблоне coolfilter.tpl в конце функции setUrl(coolfilter) ставим строку с меткой.


location = href + '&f=new';


В контроллере в функции index после блока с получением ID категории ставим


  if (isset($_GET['f'])){
                $url = '';
                if (isset($this->request->get['sort'])) {
                  $url .= '&sort=' . htmlspecialchars($this->request->get['sort']);
                }

                if (isset($this->request->get['order'])) {
                  $url .= '&order=' . htmlspecialchars($this->request->get['order']);
                }

                if (isset($this->request->get['limit'])) {
                  $url .= '&limit=' . (int)$this->request->get['limit'];
                }

                if (isset($this->request->get['coolfilter'])) {
                  $url .= '&coolfilter=' . $this->request->get['coolfilter'];
                }
            $url = '/index.php?route=product/category&path=' . $categorie_id . $url;
            header("Location:" . $url);
            }


Все.

Ссылка на комментарий
Поделиться на других сайтах

  • 7 months later...

Добрый день!

А можно поподробнее,

 

  " В контроллере в функции index после блока с получением ID категории ставим "

 

после каких строк ставить, в какой файл?

 

Спасобо!

Ссылка на комментарий
Поделиться на других сайтах

Контроллер coolfilter — это файл catalog/controller/module/coolfilter.php

 

Блок с получением ID начинается с:

if (isset($this->request->get['path'])) {

 

У меня это 34 строка.

 

Ссылка на комментарий
Поделиться на других сайтах

Спасибо большое! Помогло!

В модулее "location = href; " - тоже удалил, оставил только  " location = href + '&f=new';" . Работает. Или вернуть эту строку? 

 

 

 

Ссылка на комментарий
Поделиться на других сайтах

27 минуты назад, Vadim сказал:

Спасибо большое! Помогло!

В модулее "location = href; " - тоже удалил, оставил только  " location = href + '&f=new';" . Работает. Или вернуть эту строку? 

 

 

 

Можно удалить, возвращать не нужно..

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу