Улучшить поведение СS-Cart при фильтрации

Я как раз думаю, что пока народ не начнёт массово отписываться тут, то @imac не будет воспринимать серьёзно эту тему.

так а чего писать то?
Проблема ясна.
Проблема важна.
Текщие модули не слишком функциональны.

Путь решения от АБ предложены. и даже с пометкой “внедрить не сложно

Остается внедрять.

Ну ок. Ждём реакцию.

1 лайк

Все эти модули — это, конечно, хорошо… для разработчиков модулей в первую очередь.
Тема больная для всех без исключения ИМ, и адекватное поведение фильтрации должно быть реализовано из коробки, тем более, что CMS далеко не бесплатна. При этом важно, чтобы админ мог настраивать сценарии, в зависимости от специфики товара.
Мы уже устали выслушивать от клиентов замечания по сайту, когда подбор становится мучением, как на примере выбора сверла или бура по бетону. Сразу оговорюсь, что вариант со слайдером не подходит, потому что очень часто нужно выбрать 2-3 конкретных параметра (например, диаметры 6 мм, 7,8 мм и 12,5 мм и длина 400, 450 и 900).

13%20(1)

А вариантов бывает далеко за 200 штук, и раскрытый фильтр превращается в бесконечную простыню. При этом всегда бывают задержки при фильтрации, что создает ад в работе. Это совсем неправильно.
Вот тут и теряем конверсию из-за юзабилити! (вебвизор в этом месте показывает отказы пользователей)

Кнопка “показать выбранные параметры” — тоже не всегда вариант решения. Она не может правильно отработать.

Есть отличный пример, как должны быть реализованы фильтры. Каталог onliner.by, где большой список умещается в компактном фрейме, при выборе обновляются товары, но ничего никуда не прыгает и не раздражает, в каком бы месте страницы вы не находились.
Правильные фильтры тут

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

  • Кнопка “применить выбранные”
  • Фрейм в виде таблицы, где все видно и удобно
  • Мне плевать на пользователя, продаю, как могу

0 голосов

6 лайков

Поддерживаю, нужно поднять тему в приоритетную

2 лайка

Добавьте голосовалку.

1 лайк

В самом первом сообщении темы есть. Только вот толку @cs-cart_team не реагируют на эту тему.

1 лайк

Думаете, что смахивает на договоренность со сторонними разработчиками, дабы им было что кушать?

1 лайк

Может кому-то поможет - чтобы убрать скроллинг, в файле js/tygh/product_filters.js закомментируйте строчку

scroll: '.ty-mainbox-title',

Потом нужно почистить кэш

7 лайков

Спасибо за совет! Так немного легче.
Жаль только, что это изменения в ядре, хоть и не критичные. Да и глобально не решает проблемы.

2 лайка

Думаю, стоит приподнять тему, особенно с учетом того, что разработчики не реагируют. Согласен, сегодняшнее поведение фильтров из коробки — ад для покупателя :frowning:

7 лайков

Плохой пример. Если откроете с мобильного телефона, то будет понятно почему. У них нет просто адаптации под мобилу.

Намек ясен, теперь будем реагировать за день до создания темы)

1 лайк

Важно понять один момент с кнопкой фильтрации “Показать” и количеством вариантов. Из коробки сделать это довольно проблематично, так как у многих будет тормозить, это то отчего мы ушли несколько лет назад, банально потому что жалоб на тормоза фильтров была масса, все из за того что при отображении фильтров для каждого варианта просчитывалось количество доступных товаров. И что логично при выборе одного значения в фильтре, количество для всех остальных надо пересчитывать, т.е. оно просто не отображалось.

Опять же важно понимать, что есть два варианта кнопки показать:

  1. Быстрый: Клиент прокликивает все варианты которые хочет выбрать. У него не отображается количество в каждом из вариантов и не перестраиваются фильтры (например какого-то бренда нет синего цвета, а мы выбрали только этот бренд, в таком случае синий должен задизейблится, чтобы его нельзя было выбрать).
  2. “Правильный”, я так понимаю многие ожидают именно этого поведения, как было сделано раньше на Яндекс.Маркете. Ты нажимаешь фильтр он показывает количество вариантов и кнопку показать. Кстати, сейчас вот оказалось что Яндекс Маркет поменял эту логику и они сразу ищут на десктопе. А вот на мобилке у них эта логика осталась.

Так вот про вариант 2. “правильный” надо понимать, что подсчет количества - это операция полностью идентичная поиску, т.е. в реальном времени показывать количество продуктов у этой характеристики довольно трудоемкая операция для сервера.

Мне нравятся фильтры на ozon, яндекс маркет, там решены основные проблемы

  1. Не блокируется страница фильтров и не перегружается, удобно выбирать несколько значений.
  2. При выборе фильтров страница не скачет на результаты поиска, опять же удобно выбрать несколько вариантов
  3. На мобилке вообще нет автоматической фильтрации, только через кнопку.

@imac, посмотрите, пожалуйста, как работают фильтры в этом магазине https://santehnika-online.ru/smesiteli/

Работают по “правильному” варианту (с подсчетом кол-ва товаров и блокировкой недоступных комбинаций), но при этом все очень быстро. Каким образом это достигается? Кэшируют все возможные поиски?

Да, стандартная схема это отдельная таблица, вьюха с кешированием всех основных фильтров
и результатов, либо вьюха заточенная под фильтры т.е. денормальзация данных. Зачастую это делается вообще отдельной логикой, возможно даже на другом стеке. Ну как пример, вы меняете данные товара, или его характеристики а ночью по крону запускается задача, которая обновляет все варианты фильтров за текущий день. В общем на текущий момент делать это массово и на всех более менее php хостингах не особо просто.
Кстати одна из старых проблем в CS-Cart была с разростающимся кешом, долго ее ловили, как раз там с фильтрами была история.

1 лайк

Есть ещё лучше пример, как мне кажется, т.к. он сделан на cs-cart. И тут тоже всё работает как нужно.

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

Этот пример не лучше, потому что не блокируются недоступные варианты после каждого выбора и пользователь часто натыкается на сообщение “Нет товаров”. Это минус в карму.

Да, это был промежуточный этап работы фильтров, было это года 4 назад, и ориентировались мы на ключевых международных игроков, но пользователи приняли это крайне негативно, и пришлось откатить кнопку. Основное возражение было - лишний клик, т.е. это для сценария когда клиент выбирал в фильтре одно-два значения не подходило.
Количество я думаю они уже сами допиливали.