Костыльно. Потому что 4 вида свойств в котором более 10 значений.
Как написать фильтр именно с условиями? Что при выборе 1ого материала, доступны только следующие размеры, при этом в этом же элементе при выборе 2ого материала размеры другие. Сейчас обработчик филтра выглядит вот так:
| Цитата |
|---|
| Ну а фильтр, напишите) |
| Цитата |
|---|
<!--Получаем данные с фильтра и составляем список товаров--> <?$arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "PREVIEW_PICTURE", "DETAIL_PAGE_URL"); $arFilter = Array( "IBLOCK_ID"=>$arResult['IBLOCK_ID'], "ACTIVE"=>"Y", "PROPERTY_FILTER_WEIGHT_VALUE" => $_POST['gr1'], "PROPERTY_FILTER_MATERIAL_VALUE" => $_POST['gr2'], "PROPERTY_FILTER_WEIGHT_PENOPLAST_VALUE" => $_POST['gr22'], "PROPERTY_FILTER_WEIGHT_PPS_VALUE" => $_POST['gr21'], "PROPERTY_FILTER_WEIGHT_PPU_VALUE" => $_POST['gr23'], "PROPERTY_FILTER_MODE_VALUE" => $_POST['gr3'], "PROPERTY_FILTER_TIP_VALUE" => $_POST['gr4'] ); $res = CIBlockElement::GetList(Array("NAME"=>"DESC"), $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()) { $arFields[] = $ob->GetFields(); } /*Добавляем массив с инфо об изображении по ID*/ foreach($arFields as $k => $arFiledsItem){ $arFields[$k]['PREVIEW_PICTURE'] = CFile::GetFileArray($arFiledsItem["PREVIEW_PICTURE"]); } ?> |