Функция получения элементов инфоблока

Функция получения элементов инфоблока

900
29.07.2015

Полезная функция получения элементов инфоблока с кешированием

Данная функция предназначена для получения кешируемых данных об элементах инфоблока в соответствии с переданными функции параметрами

function GetCachedElements($Filter,$arSelect=false,$sort=Array("NAME"=>"ASC"),$pageParams = false){
        if(!CModule::IncludeModule("iblock")) return false;
        if(empty($Filter)) return false;
        $arResult = false;

        $obCache = new CPHPCache;
        $life_time = 3600;
        $cache_params = $Filter;
        $cache_params['func']='CIBlockElement::GetList';
        $cache_params['arSelect']=$arSelect;
        $cache_params['sort']=$sort;
        $cache_params['pageParams']=$pageParams;
        $cache_id = md5(serialize($cache_params));
        if($obCache->InitCache($life_time, $cache_id, "/")) :
            $arResult = $obCache->GetVars();
        else :
            $ElList = CIBlockElement::GetList($sort, $Filter, false, $pageParams, $arSelect);
            while($arElement = $ElList->GetNext())
            {
                $arResult[] = $arElement;
            }
        endif;

        if($obCache->StartDataCache()):
            $obCache->EndDataCache($arResult);
        endif;

        return $arResult;
    }


Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

Возврат к списку