А если выключить настройку «Показывать товары, которых нет в наличии», то вообще прячет товары, у которых остатки по главной вариации нулевые, а в остальных есть.
Получил ответ от поддержки, потому что пришлось писать туда.
Похоже, логика (совершенно кривая) работы «фильтров» (которые ничего не фильтруют по сути) такая — фильтр тупо показывает карточки товаров, в которых присутствует вариация с выбранной характеристикой.
Наличие никакой роли не играет.
То есть логика разработчиков такая: клиент хочет увидеть товары, которые в принципе существовали. А наличие… да кому оно нужно, это наличие!
Так как цель характеристики (у меня «Размер», да еще и «Рост» есть) — «Вариация как один товар», то все, приплыли.
Предложили вариант «решения» проблемы:
Изменить цель характеристики на «Вариации как отдельные товары».
Распустить и пересобрать группы.
Добавить фильтр «В наличии»
И тогда…
Вот только меня терзают смутные сомнения. Потому что времени и сил будет потрачено, а вот будет ли работать?..
Да, бред конечно же, надеешься на нормальную логику работы, а по факту приходится выкручиваться из положения. Раньше было все хорошо с Комплектами товаров по-моему так называлась функция. И товары не забивали каталог количеством и показывались нужные варианты товаров попадающие под условия фильтрации
В настройках модуля Вариации товаров присутствует опция Изменять вариацию по умолчанию, когда её скрывают или она заканчивается на складе , с помощью которой CS-Cart автоматически меняет вариацию по умолчанию, если остаток основной вариации становится равным нулю. Тем самым, данная опция позволит всегда отображать доступные вариации товара при фильтрации.
На будущее (пригодится в ответах) — не стоит злоупотреблять канцеляризмами. В последнем предложении если заменить бессмысленные «Тем самым, данная опция» на простое «Это», будет красиво, понятно и по-русски. Честное слово!
Теперь немного по сути, можно?
Опция, о которой вы пишете, изменит ОДНУ вариацию, сделав ее вариацией по умолчанию, если в предыдущей вариации по умолчанию обнулится остаток.
Скажите, пожалуйста, какое отношение это будет иметь к поиску вариаций через фильтр? Если можно, укажите код, который ищет товары по фильтру и в котором учитывается, включена ли эта опция?
Спасибо за ваше мнение. Однако прошу учесть, что стиль моего общения и формулировки — это мое личное предпочтение, и я стремлюсь поддерживать деловой тон в обсуждениях.
Основываясь на описанной в данной теме проблеме, опция Изменять вариацию по умолчанию, когда её скрывают или она заканчивается на складе должна помочь улучшить фильтрацию товаров, так как на странице со списком товаров отображается основная вариация.
Если количество главной вариации равно 0, то на странице со списком товаров и при фильтрации может отобразиться Нет в наличии для данного товара. На примере - Синие футболки есть в наличии, но основная вариация размером S - в количестве 0. Поэтому при выборе фильтра Цвет - Синий - будет текст Нет в наличии.
Теперь в настройках модуля Вариации товаров включим Изменять вариацию по умолчанию, когда её скрывают или она заканчивается на складе, тогда главной вариацией станет та, которая есть в наличии - в примере это синяя футболка размером M. Выбираем на витрине фильтр Цвет - Синий - футболка есть В наличии.