Сортировка по цене для каталога с торговыми предложениями

Реализовать сортировку в каталоге интернет-магазина средствами Битрикса (когда применяется комплексный компонент bitrix:catalog) не составляет труда. Задаются параметры сортировки при инициализации компонента и готово. Но что делать, когда в каталоге применяются торговые предложения (SKU)? Получается, что для одного товара могут быть заданы несколько торговых предложений, у которых будут разные цены. К тому-же, мы не можем привязать цену торгового предложения к параметрам сортировки компонента т.к. SKU физически находятся в другом инфоблоке и компонент эти параметры просто не учтет.

Один из вариантов решения заключается в следующем, для товара создаются два новых свойства - минимальная цена (MIN_PRICE) и максимальная цена (MAX_PRICE). Из торговых предложений конкретного товара выбираются минимальная и максимальная цены и записываются в созданные свойства товара. Для автоматизации процесса, очень удобно использовать группу событий, которые в случае изменения, добавления информации в товаре или его торговых предложениях будут пересчитывать min и max цены, и производить их запись в свойства товара.

Код рабочий, применялся для Битрикса версии 14.5.3.

Просмотров: 10394
Дата создания: 12:51 - 15.09.2014.
Последнее изменение: 21:25 - 20.10.2014.