Как узнать количество товаров в разделе по фильтру
10/22/2015

На одном из сайтов клиентов есть фишка "Дарят деньги в подарок", это маркетинговый инструмент который позволяет обойти ограничения на минимальную цену поставщика. Сегодня мы решили усовершенствовать данный функционал. Мы дарим не просто деньги, а товар на эту сумму. Соответственно в карточке товара добавляем ссылку с параметром вида ?skidkaprice=167, где 167 - сумма подарка. На промо странице что бы не делать просто список товаров отсортированных по цене, мы решили выводить список категорий в которых можно выбрать свой подарок. А уже кликая по ссылкам люди переходят в категорию с фильтрами и уже отфильтрованным товаром по с максимальной ценой подарка.

Вот тут и закрылась проблема, что бы не было пустых категорий, так как не во всех предложенных категориях может быть товар на сумму до например 160 гривен, а создавать кучу страниц нет смысла. На помощь пришел запрос количества товаров по фильтру. Для этого мы будем использовать класс CIBlockElement::GetList, это замена устаревшему методу CIBlockSection::GetSectionElementsCount

<?$iCnt = CIBlockElement::GetList(array(),array("IBLOCK_ID"=>46,"ACTIVE"=>"Y","SECTION_ID"=>4492,"<CATALOG_PRICE_4"=>1000,">CATALOG_QUANTITY"=>0),array());?>

В переменную $iCnt у нас попадает количество товаров по фильтру, указываем наш инфоблок IBLOCK_ID, раздел SECTION_ID, количество товаров на продажу должно быть больше нуля >CATALOG_QUANTITY, и указываем ограничение по цене, цена меньше значения

  • Комментарии
Загрузка комментариев...