Документация для разработчиков
Темная тема

SetTemplateCachedData

Описание

void 
SetTemplateCachedData(
 mixed templateCachedData
);

Метод SetTemplateCachedData вызывают, если не используется встроенное в компонент кэширование, и при этом вызов CBitrixComponent::IncludeComponentTemplate кэшируется. Этот метод возвращает шаблону данные, которые необходимо было сохранить в кэше. Нестатический метод.

Смотрите также

  • Кэширование в компоненте
  • CBitrixComponent::GetTemplateCachedData
  • Пример

    // Проверка и инициализация входных параметров
    if ($arParams["ID"] <= 0)
       $arParams["ID"] = 10;
    
    $arParams["CACHE_TIME"] = IntVal($arParams["CACHE_TIME"]);
    $CACHE_ID = SITE_ID."|".$APPLICATION->GetCurPage()."|";
    // кэш зависит только от подготовленных параметров без "~"
    foreach ($this->arParams as $k => $v)
        if (strncmp("~", $k, 1))
            $CACHE_ID .= ",".$k."=".$v;
    $CACHE_ID .= "|".$USER->GetGroups();
    
    $cache = new CPHPCache;
    if ($cache->StartDataCache($arParams["CACHE_TIME"], $CACHE_ID, "/".SITE_ID.$this->GetRelativePath()))
    {
        // Запрос данных и формирование массива $arResult
        $arResult = array("a" => 1, "b" => 2);
    
        // Подключение шаблона компонента
        $this->IncludeComponentTemplate();
    
        $templateCachedData = $this->GetTemplateCachedData();
    
        $cache->EndDataCache(
            array(
                "arResult" => $arResult,
                "templateCachedData" => $templateCachedData
            )
        );
    }
    else
    {
        extract($cache->GetVars());
        $this->SetTemplateCachedData($templateCachedData);
    }


    © «Битрикс», 2001-2021, «1С-Битрикс», 2021
    Наверх