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-2024, «1С-Битрикс», 2024