Подразумевается, что у вас включено .
[spoiler]
Способ 1: в теле компонента
Способ 2: в шаблоне компонента
В result_modifier.php пишем:
Чтобы сбросить все кеши, помеченные вашим тегом, выполните следующий код:
Полезная фишка: один и тот же кеш при этом может быть помечен несколькими тегами. Например, если вы пометите своим тегом кеш компонента bitrix:news.list, то у кеша будет два тега: штатный "iblock_id_XX" и ваш "my_custom_tag". Соответственно, кеш будет сбрасываться и при добавлении/изменении элемента в инфоблоке XX (штатный функционал), и при сбросе кеша вручную через ClearByTag('my_custom_tag').
[spoiler]
Способ 1: в теле компонента
if ($this->StartResultCache(......))
{
if (defined('BX_COMP_MANAGED_CACHE') && is_object($GLOBALS['CACHE_MANAGER']))
{
$GLOBALS['CACHE_MANAGER']->StartTagCache($this->__cachePath);
$GLOBALS['CACHE_MANAGER']->RegisterTag('my_custom_tag');
$GLOBALS['CACHE_MANAGER']->EndTagCache();
}
// do something
$this->IncludeComponentTemplate();
}
else
{
$this->AbortResultCache();
}
|
Способ 2: в шаблоне компонента
В result_modifier.php пишем:
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
if (defined('BX_COMP_MANAGED_CACHE') && is_object($GLOBALS['CACHE_MANAGER']))
{
$cp =& $this->__component;
if (strlen($cp->__cachePath))
{
$GLOBALS['CACHE_MANAGER']->StartTagCache($cp->__cachePath);
$GLOBALS['CACHE_MANAGER']->RegisterTag('my_custom_tag');
$GLOBALS['CACHE_MANAGER']->EndTagCache();
}
}
?> |
Чтобы сбросить все кеши, помеченные вашим тегом, выполните следующий код:
if (defined('BX_COMP_MANAGED_CACHE') && is_object($GLOBALS['CACHE_MANAGER']))
$GLOBALS['CACHE_MANAGER']->ClearByTag('my_custom_tag');
|
Полезная фишка: один и тот же кеш при этом может быть помечен несколькими тегами. Например, если вы пометите своим тегом кеш компонента bitrix:news.list, то у кеша будет два тега: штатный "iblock_id_XX" и ваш "my_custom_tag". Соответственно, кеш будет сбрасываться и при добавлении/изменении элемента в инфоблоке XX (штатный функционал), и при сбросе кеша вручную через ClearByTag('my_custom_tag').