Задать вопрос
@Anna_Belikova01

Как сделать сложный фильтр по нескольким свойствам?

Добрый день, коллеги! Недавно встал вопрос о доработке умного фильтра битрикс. Суть - раньше фильтр работал стандартно по логике AND.
Т.е. в фильтре как обычно можно было выбрать свойство, к примеру, есть свойства товар (какой товар,сковородка, кастрюля и т.д.), ручка (круглая, длинная) и т.д.
Если покупатель выбирал сковороду, а среди сковородок нет товара со свойством круглая ручка, то в фильтре это свойство(круглая ручка) становилось DISABLED (обработка идет в штатном компоненте smart.filter).
Теперь появилась задача - есть еще 2 свойства, материал товара и материал ручки. Материалы в этих свойствах могут совпадать, и захотелось объединить результат по этим двум свойствам. Т.е. чтобы при выборе, к примеру, чугун, чтобы выбирались и сами чугунные сковородки и сковородки с чугунной ручкой.
Решено было при помощи сложной логики фильтра
"LOGIC" => "OR",
"=PROPERTY_MATERIAL_GOOD" => iron,
"=PROPERTY_MATERIAL_HANDLE" => iron,

Товары фильтруются как надо, однако проверки на DISABLED остальных свойств теперь не отрабатывают. Подскажите, пожалуйста, как сделать так, чтобы товары фильтровались по обоим этим свойствам, но при этом если нет товаров, которые отвечают обоим этим свойствам (чугунный товар, чугунная ручка), к примеру, нет таких кастрюль, чтобы свойство тип товара - кастрюля становилось DISABLED.
  • Вопрос задан
  • 683 просмотра
Подписаться 1 Средний 11 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы