'Y', "IBLOCK_ID" => NEW_CARS_IBLOCK_ID, "ID" => $arSectionIds ); $arSelect = array(); $rsSection = CIBlockSection::GetList( $arSort, $arFilter, false, $arSelect, false ); $arOptionSections = array(); $arModelSectionsIds = array(); while ($arItem = $rsSection->GetNext()) { $arModelSectionsIds[] = $arItem['IBLOCK_SECTION_ID']; $arOptionSections[$arItem['ID']] = $arItem; } //pre($arOptionSections); //pre($arModelSectionsIds); /** * Получить информацию по разделам короневым (Марки автомобилей) */ $arSort = array(); $arFilter = array( "GLOBAL_ACTIVE" => 'Y', "IBLOCK_ID" => NEW_CARS_IBLOCK_ID, "ID" => $arModelSectionsIds ); $arSelect = array(); $rsSection = CIBlockSection::GetList( $arSort, $arFilter, false, $arSelect, false ); $arModels = array(); while ($arItem = $rsSection->GetNext()) { $arModels[$arItem['ID']] = $arItem; } //pre($arModels); /** * Получить изображения моделей */ $arModelPictureIds = array(); foreach($arModels as &$arItem) { if($arItem["PICTURE"] <> "") { $arModelPictureIds[] = $arItem["PICTURE"]; } else { $arModelPictureIds[] = NO_PHOTO_ID; } } unset($arItem); //pre($arModelPictureIds); if(sizeof($arModelPictureIds) > 0) { $strIds = implode(",", $arModelPictureIds); $fl = new CFile; $arOrder = array(); $arFilter = array( "MODULE_ID" => "iblock", "@ID" => $strIds ); $arModelPicture = array(); $rsFile = $fl->GetList($arOrder, $arFilter); while($arItem = $rsFile->GetNext()) { $arModelPicture[$arItem["ID"]] = $arItem; $urlModelPicture = itc\Resizer::get($arItem["ID"], 'newModelCarsList'); $arModelPicture[$arItem["ID"]]["SRC"] = $urlModelPicture; } //pre($arModelPicture); foreach($arModels as &$arItem) { if($arItem["PICTURE"] <> "") { $arItem["PICTURE"] = array('SRC' => $arModelPicture[$arItem["PICTURE"]]["SRC"]); } else { $arItem["PICTURE"] = array('SRC' => itc\Resizer::get(NO_PHOTO_ID, 'newModelCarsList')); } } unset($arItem); } //pre($arModels); /** * Пересобрать $arResult */ foreach($arResult["ITEMS"] as &$arElement) { if(is_array($arOptionSections[$arElement['~IBLOCK_SECTION_ID']])) { $parentSectionId = $arOptionSections[$arElement['~IBLOCK_SECTION_ID']]['IBLOCK_SECTION_ID']; if(!isset($arResult['ITEMS_NEW'][$arElement['~IBLOCK_SECTION_ID']]['SECTION'])) { $arResult['ITEMS_NEW'][$parentSectionId]['MODELS'] = $arModels[$parentSectionId]; $arResult['ITEMS_NEW'][$parentSectionId]['MODELS']['OPTIONS'] = $arOptionSections[$arElement['~IBLOCK_SECTION_ID']]; } $arResult['ITEMS_NEW'][$parentSectionId]['MODELS']['CARS'][] = $arElement; } } $arResult["ITEMS"] = $arResult['ITEMS_NEW']; unset($arElement, $arResult['ITEMS_NEW']); //pre(sizeof($arResult["ITEMS"])); //pre($arResult["ITEMS"]); ?>