StartResultCache
Описание и параметры
bool StartResultCache([ int cacheTime [, string additionalCacheID [, string cachePath]]] );
Метод поддержки внутреннего кеширования компонента. Нестатический метод.
Если кеш действителен, метод отправляет на экран его содержимое, заполняет $arResult и возвращает False. Если кеш недействителен, метод возвращает True, кеширование завершается и кеш сохраняется при вызове методов CBitrixComponent::IncludeComponentTemplate или CBitrixComponent::ShowComponentTemplate сразу после подключения шаблона компонента.
Параметры
| Параметр | Описание |
|---|---|
| cacheTime | Время кеширования в секундах. Если этот параметр равен False, то время кеширования берется из входного параметра $arParams["CACHE_TIME"]. Необязательный. |
| additionalCacheID | Кеш зависит от текущего сайта ( SITE_ID), имени компонента, имени шаблона, входных параметров $arParams. Если кеш должен зависеть от каких-либо дополнительных параметров, то их необходимо передать сюда в виде строки. По умолчанию параметр равен False, т.е. кеш зависит только от текущего сайта SITE_ID, имени компонента, имени шаблона и входных параметров $arParams. Необязательный. |
| cachePath | Путь к файлу кеша относительно папки кешей. По умолчанию равен "/".SITE_ID.<путь к компоненту относительно bitrix/components>. Необязательный. |
Возвращаемое значение
Возвращает True в случае, если кеш недействителен, или False в противном случае.
Смотрите также
Пример
// Проверка и инициализация входных параметров
if ($arParams["ID"] <= 0)
$arParams["ID"] = 10;
// Если нет валидного кеша (то есть нужно запросить
// данные и сделать валидный кеш)
if ($this->StartResultCache())
{
// Запрос данных и заполнение $arResult
$arResult = array(
"ID" => rand(1, 100)
);
for ($i = 0; $i < 5; $i++)
$arResult["FIELDS"][] = rand(1, 100);
// Если выполнилось какое-то условие, то кешировать
// данные не надо
if ($arParams["ID"] < 10)
$this->AbortResultCache();
// Подключить шаблон вывода
$this->IncludeComponentTemplate();
}
// Установить заголовок страницы с помощью отложенной
// функции
$APPLICATION->SetTitle($arResult["ID"]);
// кеш должен зависеть от групп пользователей, которым принадлежит посетитель
if ($this->StartResultCache(false, $USER->GetGroups()))
{
// Валидного кеша нет. Выбираем данные из
// базы в $arResult
}
© «Битрикс», 2001-2025, «1С-Битрикс», 2025