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

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

Нужно, чтобы в фильтре были все варианты свойств товара, даже если в данный момент такого товара нет.
  • Вопрос задан
  • 394 просмотра
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
@PetrPo
1. Отключи фасетный индекс для нужного инфоблока
2. Сделай кастомный компонент catalog.smart.filter
- в файле component.php найди строчку
foreach($arElements as $arElement)
- перед этой строчкой добавь
if(isset($this->arResult['PROPERTY_ID_LIST']) && $this->arResult['PROPERTY_ID_LIST']) {
  $propertiesList = array();
  
  foreach($this->arResult['PROPERTY_ID_LIST'] as $propertyId) {
    $dbRes = CIBlockPropertyEnum::GetList(array('ID' => 'ASC'), array('PROPERTY_ID' => $propertyId));
    
    while($arRes = $dbRes->Fetch()) {
      $this->fillItemValues($arResult['ITEMS'][$arRes['PROPERTY_ID']], $arRes['ID']);
    }
  }
}


UPD
немного поправил код
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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