Здравствуйте.
С помощью CCatalogSKU::getOffersList сделал фильтрацию по цвету, чтоб на карточках цвета товаров, но заметил особенность, фильтрация работает по независимым критериям, т.е. если мне нужно отфильтровать товары, где есть торговые предложения и черного, и белого цвета одновременно, то он ищет по принципу - если есть хотя бы один из цветов.
Как сделать та, что он искал при удовлетворении всех критериев?
Редакция Бизнес 18.1.5
Вот собственно кусок конструкции, которая фильтрует
Может есть решение хитрое, чтоб отдельно не топтаться потом по массивам?
С помощью CCatalogSKU::getOffersList сделал фильтрацию по цвету, чтоб на карточках цвета товаров, но заметил особенность, фильтрация работает по независимым критериям, т.е. если мне нужно отфильтровать товары, где есть торговые предложения и черного, и белого цвета одновременно, то он ищет по принципу - если есть хотя бы один из цветов.
Как сделать та, что он искал при удовлетворении всех критериев?
Редакция Бизнес 18.1.5
Вот собственно кусок конструкции, которая фильтрует
Код |
---|
$res = CCatalogSKU::getOffersList( $PRODUCTS_ID, // массив ID товаров $iblockID = 21, // указываете ID инфоблока только в том случае, когда ВЕСЬ массив товаров из одного инфоблока и он известен //$skuFilter = array('PROPERTY_COLOR_REF' => [$vc_dates['=PROPERTY_1113']], 'PROPERTY_SIZES_PRODUCTS' => [$vc_dates['=PROPERTY_1114']], 'PROPERTY_MOD_PRODUCTS' => [$vc_dates['=PROPERTY_1115']]), // дополнительный фильтр предложений. по умолчанию пуст. $skuFilter = array('PROPERTY_COLOR_REF' => $vc_dates['=PROPERTY_1113']), $fields = array('DETAIL_PICTURE'), // массив полей предложений. даже если пуст - вернет ID и IBLOCK_ID $propertyFilter = array('ID' => [1113, 1114, 1115]) // Цвет, размер и модификация ); |
Может есть решение хитрое, чтоб отдельно не топтаться потом по массивам?