public static function GetFilter($arFilter) { if (!empty($arFilter['SECTION_CODE'])) { $arFilter['SECTION_ID'] = CatalogSection::GetByCODE($arFilter['SECTION_CODE']); unset($arFilter['SECTION_CODE']); } if (is_array($arFilter['CATALOG_ID']) and !empty($arFilter['CATALOG_ID'])) { $arCatalogIDs = $arFilter['CATALOG_ID']; unset($arFilter['CATALOG_ID']); } $arElemFields = array("ID" => "ELEMENT.ID", "SORT" => "ELEMENT.SORT", "CATALOG_ID" => "ELEMENT.CATALOG_ID", "SECTION_ID" => "ELEMENT.CATALOG_SECTION_ID", "CODE" => "ELEMENT.CODE"); foreach ($arFilter as $key => $value) { if (array_key_exists($key, $arElemFields)) { $arFilter[$arElemFields[$key]] = $value; unset($arFilter[$key]); } } if (isset($arFilter["ELEMENT.CATALOG_ID"])) { $arFilter["CATALOG.ID"] = "ELEMENT.CATALOG_ID"; } $arFilter['CATALOG_ID'] = $arCatalogIDs; return $arFilter; }