Каким образом можно модифицировать работу фильтра?

Добрый день.

Небольшой вопрос по фильтрации.

Кто нибудь сталкивался с проблемой отсечения из поиска товаров с артикулами отсутсвующими на складе?

Например есть товар, у него 2 артикула. Эти артикулы отличаются по размерам и цвету. Т.е к примеру есть 1 артикул - XL синий - 2 штуки и другой артикул XL красный - 0 штук.

Есть фильтр, у него есть возможность искать по цвету. Но проблема в том, что если ищешь красный цвет - все равно выводится товар с этими артикулами. Хотя по факту - красного цвета осталось на складе 0.

Есть волшебный параметр In_stock_only. Но он не отсекает такие артикулы. Он смотрит только на общее кол-во на складе для товара.

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

2 ответа

  • 2
    munjalibaloo 9 апреля 2015 11:48 #

    Пока что решено через костыль.

    Создал плагин и повесил на событие frontend_category функцию по созданию нового массива products. Выборку товаров организовал через основную таблицу товаров с единичными характеристиками плюс доп выборка по характеристикам артикулов, где учитываю наличие по складу.

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

    frontend_category генерируется уже после того, как составлен массив products.

    В связи с этим вопрос к разработчикам движка - планируется ли добавить все же событие до генерации products на странице группы товаров или нет?

Добавить ответ

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