HTML-кеширование произвольного кода

Компонент ничего не умеет делать, кроме вызова шаблона внутри блока StartResultCache

if($this->StartResultCache(false, array( ($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetGroups()) ) ) )
{
  $this->IncludeComponentTemplate();
}


Компонент нужен, чтобы с помощью него писать свои упрощённые компоненты - использовать шаблон в качестве компонента.

Скопируйте шаблон компонента - исправляйте как вам нравится.
.parameters.php - параметры
result_modifier.php - логика и заполнение $arResult
template.php - шаблон
component_epilog.php - некешируемые действия.

Важные параметры:
CACHE_GROUPS Y/N - Разный кеш для разных групп пользователей.
CACHE_TIME - время кеша.

CACHE_TIME - ставится маленьким, если шаблон не использует тегированный кеш
CACHE_TIME - ставится большим, если шаблон использует тегированный кеш.

По-умолчанию API инфоблоков для инфоблока 7 добавляют тег iblock_id_7 в функциях CIblock::GetList()->Fetch(), CIblockElement::GetList()->Fetch(), CIblockSection::GetList()->Fetch() и других

В других случаях теги надо добавлять в шаблон самостоятельно, либо делать период кеширования маленьким.


Вызов компонента

<?$APPLICATION->IncludeComponent(
  "askaron:askaron.api.html_cache",
  "",
  Array(
    "CACHE_GROUPS" => "N",
    "CACHE_TIME" => "36000000",
    "CACHE_TYPE" => "A",
  )
);?>

askaron.api.html_cache
0  


 Компоненты | Описание курса | askaron.api.select