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

GetTemplateCachedData

Описание

mixed 
GetTemplateCachedData();

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

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

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

    // Проверка и инициализация входных параметров
    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-2020, «1С-Битрикс», 2020
    Наверх