Coolfilter и пагинация


SergusNET
 Поделиться

Рекомендуемые сообщения

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


 


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


 


Предположим, есть 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 месяцев спустя...

Добрый день!

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

 

  " В контроллере в функции 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';" . Работает. Или вернуть эту строку? 

 

 

 

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

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

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

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

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

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

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