|
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.select
|