%PDF- %PDF-
Direktori : /home/bitrix/www/local/components/p4/catalog.list/ |
Current File : //home/bitrix/www/local/components/p4/catalog.list/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); // todo Кэширование запросов $arSex = array( 'M' => 19, 'F' => 20, ); $arModleType = array( 'PM' => 259, 'AM' => 260, ); // Фильтр: пол / возраст (диапазон) / страна,город / категории/ без параметров моделей $arFilter = array( 'IBLOCK_ID'=>IBLOCK_PROFILE_ID, 'SECTION_ID'=>7, '>DETAIL_PICTURE'=>0, '!PROPERTY_BDATE'=>false, 'ACTIVE'=>'Y', '!PROPERTY_TYPE_P4'=>false ); if (isset($_REQUEST['FILTER_AGE_MIN'])) $arFilter['>=PROPERTY_AGE'] = $_REQUEST['FILTER_AGE_MIN']; if (isset($_REQUEST['FILTER_AGE_MAX'])) $arFilter['<=PROPERTY_AGE'] = $_REQUEST['FILTER_AGE_MAX']; if (isset($_REQUEST['FILTER_REGION'])) $arFilter['PROPERTY_REGION'] = $_REQUEST['FILTER_REGION']; else $arFilter['>PROPERTY_REGION'] = 0; if (isset($_REQUEST['FILTER_SEX'])) $arFilter['PROPERTY_SEX'] = $arSex[$_REQUEST['FILTER_SEX']]; else $arFilter['>PROPERTY_SEX'] = 0; if (isset($_REQUEST['FILTER_MODELTYPE'])) $arFilter['PROPERTY_MODELTYPE'] = $arModleType[$_REQUEST['FILTER_MODELTYPE']]; if (is_array($_REQUEST['FILTER_THEME'])) if (count($_REQUEST['FILTER_THEME'])==1) $arFilter['PROPERTY_MODELTHEME'] = $_REQUEST['FILTER_THEME'][0]; else { $arThemes = array('LOGIC' => 'OR'); foreach($_REQUEST['FILTER_THEME'] as $theme) $arThemes[] = array('PROPERTY_MODELTHEME'=>$theme); $arFilter[] = $arThemes; } $pageNav = array( 'iNumPage' => isset($_REQUEST['PAGE_N'])&&intval($_REQUEST['PAGE_N'])>0?$_REQUEST['PAGE_N']:1, 'nPageSize' => 80, ); $rs = CIBlockElement::GetList( array('SORT' => 'asc', 'PROPERTY_TYPE_P4.SORT'=>'asc', 'PROPERTY_RATING_P4'=>'desc'), $arFilter, false, $pageNav, array('ID','IBLOCK_ID','NAME','SORT','DETAIL_PICTURE','PROPERTY_TYPE','PROPERTY_TYPE_P4','PROPERTY_ACCOUNT','PROPERTY_VERIFED_BY_P4')); $arResult['APP_RESULT']['ITEMS'] = array(); while ($item = $rs->Fetch()) { $arUser = CUser::GetByID($item['PROPERTY_ACCOUNT_VALUE'])->Fetch(); // todo Кэширование наше все?! $arResult['APP_RESULT']['ITEMS'][] = array( 'ID' => $item['ID'], 'NAME' => $arUser['NAME'], 'LAST_NAME' => $arUser['LAST_NAME'], 'AVATAR' => CFile::GetPath($item['DETAIL_PICTURE']), 'TYPE' => CIBlockElement::GetByID($item['PROPERTY_TYPE_P4_VALUE']>0?$item['PROPERTY_TYPE_P4_VALUE']:ProfileTypeHelper::DEFAULT_ID_P4)->Fetch()['CODE'], 'VERIFED_BY_P4' => isset($item['PROPERTY_VERIFED_BY_P4_VALUE'])?$item['PROPERTY_VERIFED_BY_P4_VALUE']:'N', 'IS_PROMOTED' => $item['SORT'] == 100 ? 'Y' : 'N' ); } $arResult['APP_RESULT']['PAGE_N'] = $rs->NavPageNomer; $arResult['APP_RESULT']['PAGE_SIZE'] = $rs->NavPageSize; $arResult['APP_RESULT']['PAGE_COUNT'] = $rs->NavPageCount; $arResult['APP_RESULT']['COUNT'] = $rs->NavRecordCount; $arResult['APP_RESULT']['OK'] = true; $this->IncludeComponentTemplate();