Каким образом можно модифицировать работу фильтра?
Добрый день.
Небольшой вопрос по фильтрации.
Кто нибудь сталкивался с проблемой отсечения из поиска товаров с артикулами отсутсвующими на складе?
Например есть товар, у него 2 артикула. Эти артикулы отличаются по размерам и цвету. Т.е к примеру есть 1 артикул - XL синий - 2 штуки и другой артикул XL красный - 0 штук.
Есть фильтр, у него есть возможность искать по цвету. Но проблема в том, что если ищешь красный цвет - все равно выводится товар с этими артикулами. Хотя по факту - красного цвета осталось на складе 0.
Есть волшебный параметр In_stock_only. Но он не отсекает такие артикулы. Он смотрит только на общее кол-во на складе для товара.
Заметил одну вещь, что в случае создания артикулов с какими то характеристиками, эти значения также подставляются в свойства основного товара. Пробовал отключать красный цвет у основного товара, но окзаалось, что все равно по артикулам проходит поиск и в выдачу попадает основной товар.
2 ответа
Пока что решено через костыль.
Создал плагин и повесил на событие frontend_category функцию по созданию нового массива products. Выборку товаров организовал через основную таблицу товаров с единичными характеристиками плюс доп выборка по характеристикам артикулов, где учитываю наличие по складу.
Самое что пугает в этом решении - все равно сначала движок ищет по собственному алгоритму товары для вывода, а потом уже плагин запускает свою обработку. События для обработки до того как движок построит массив products - нет.
frontend_category генерируется уже после того, как составлен массив products.
В связи с этим вопрос к разработчикам движка - планируется ли добавить все же событие до генерации products на странице группы товаров или нет?
Пожалуйста поддержите мою идею насчет фильтрации наличия: https://support.webasyst.ru/18793/pravilnye-filtry...
Всех прошу писать комментарии и поддерживать тему, чтобы разработчики реализовали.