Кешировать собственный кусок кода
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$obCache = new CPHPCache();
$cacheOn = 1;
$cacheLifetime = 60*60;
$cacheLifetime = $cacheOn ? $cacheLifetime : 0;
$cacheID = 'arSectionTree';
$cachePath = '/'.$cacheID;
if($cacheOn && $obCache->InitCache($cacheLifetime, $cacheID, $cachePath) )
{
$vars = $obCache->GetVars();
extract($vars);
}
elseif( $obCache->StartDataCache() )
{
CModule::IncludeModule("iblock");
$db = CIBlockSection::GetTreeList(array('IBLOCK_ID' => 6, 'ACTIVE' => 'Y'),array('ID', 'NAME', 'IBLOCK_SECTION_ID'));
$arSectionTree = array();
while($arSection = $db->fetch()){
$arSectionTree[(int)$arSection['IBLOCK_SECTION_ID']][] = $arSection;
}
$obCache->EndDataCache(array('arSectionTree' => $arSectionTree));
}
Если непонятные глюки с инфоблоками в админке
Отключить кеширование типов инфоблока в файле dbconn.php
define("CACHED_b_iblock_type", false);
define("CACHED_b_iblock", false);
Очистка кеша инфоблока
$GLOBALS['CACHE_MANAGER']->ClearByTag('iblock_id_'.$IBLOCK_ID);
Свежие комментарии