Пример кэширования данных
<? $obCache = new CPHPCache(); $cacheLifetime = 86400*7; $cacheID = 'AllGiftsIDs'; $cachePath = '/'.$cacheID; if($obCache->InitCache($cacheLifetime, $cacheID, $cachePath)){//если есть закэшированные данные $vars = $obCache->GetVars(); extract($vars); $arAllGiftsIDs = $vars['arAllGiftsIDs']; }elseif($obCache->StartDataCache()){//если нету закэшированных данных (первый раз) CModule::IncludeModule('catalog'); $arProps = array(); $arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "PROPERTY_GIFTS"); $arFilter = Array("IBLOCK_ID"=>2, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y"); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); if(count($arFields['PROPERTY_GIFTS_VALUE'])>0){ foreach($arFields['PROPERTY_GIFTS_VALUE'] as $key=>$prop){ if(!in_array($prop, $arProps)) $arProps[$key] = $prop; } } } $arAllGiftsIDs = '
- ';
foreach ($arProps as $key=>$arSection){
$arAllGiftsIDs .= '
- <ссылка url="/gifts/?arrFilter_68_'.abs(crc32($key)).'=Y&set_filter=Показать">'.$arSection.'</ссылка> '; } $arAllGiftsIDs .= '
Оставить комментарий