Перестали работать фильтры после обновления.

2
После обновления с версии 6.0.3 на 6.6.1 перестали работать фильтры. Других изменений в работу сайта на тот момент не вносилось.

Удаление и пересоздание фильтров не помогло.



Посмотреть можно на http://kolesa-lux.kz

8 комментариев

  • +1

    Подтверждаю! На сайте http://reima.msk.ru/ тоже создал новый фильтр, но он не работает ((((

  • +1
    Алексей Алексей Webasyst 2 сентября 2015 15:25 #

    Проверьте работу фильтра на стандартной теме - у вас почему-то происходит замена обычных квадратных скобок [] на их HTML-пресдтавление

  • +1
    Maxim Sheptukha Maxim Sheptukha 2 сентября 2015 15:50 #
    Имеете в виду, что УРЛ должен быть http://kolesa-lux.kz/shiny/?shirina[]=&profil[]=&d...

    , а не http://kolesa-lux.kz/shiny/?shirina%5B%5D=&profil%... ?...

    Попробовал оба варианта: поведение идентичное...

  • +1
    Maxim Sheptukha Maxim Sheptukha 23 сентября 2015 15:19 #

    Итак, у меня проблема возникла из-за того, что, по желанию заказчика я заменил чекбоксы на выпадающие списки.

    В результате у меня в адресе появились параметры с пустыми значениями, которые воспринимались движком и пихались в SQL-запрос. Ну, а поскольку товаров с пустыми значениями атрибутов не имелось, то, соответственно, фильтр ничего и не находил.

    Решается следующим образом: в файле /wa-apps/shop/lib/classes/shopProductsCollection.class.php .

    Находим строки:

    public function filters($data)
    {
    Сразу же после них вставляем:

    foreach($data as $K=>$V){
    if(is_array($V)){
    foreach($data[$K] as $K2=>$V2){
    if($V2==='') unset($data[$K][$K2]);
    }
    if(count($data[$K])===0) unset($data[$K]);
    }
    }

    Теперь, фильтр, прежде чем искать товары удаляет пустые значения в атрибутах и сами атрибуты, если после первого удаления в них не осталось значений.

    • +1

      А еще проще и правильнее написать пару строчек js, чтобы пустые значения не уходили в URL при сабмите формы.
      Править исходный код - очень плохая практика, после первого же обновления все изменения пропадут.

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите