php Автоматическаяочисткатегированногокеша添加了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Автоматическаяочисткатегированногокеша添加了相关的知识,希望对你有一定的参考价值。

<?php
AddEventHandler('iblock', 'OnAfterIBlockElementAdd', array('CMyCache', 'AddClearingAgent'));
AddEventHandler('iblock', 'OnAfterIBlockElementUpdate', array('CMyCache', 'AddClearingAgent'));

class CMyCache
{

    // При добавлении/редактировании элемента с датой создания в будущем...
    // ...добавляем агент на очистку тегированного кеша.
    // Агент взводится на каждый элемент отдельно.
    function AddClearingAgent(&$arFields)
    {
        if (!defined('BX_COMP_MANAGED_CACHE'))
            return true;
        $ID = array_key_exists('ID', $arFields) ? $arFields['ID'] : false;
        $IBLOCK_ID = array_key_exists('IBLOCK_ID', $arFields) ? $arFields['IBLOCK_ID'] : false;
        $date = array_key_exists('ACTIVE_FROM', $arFields) ? MakeTimeStamp($arFields['ACTIVE_FROM']) : 0;
        if ($ID && $IBLOCK_ID && $date > time())
        {
            $agentName = "CMyCache::ClearCacheByIBlockID($IBLOCK_ID, $ID);";
            // удаляем агент, если он есть
            CAgent::RemoveAgent($agentName, 'main');
            // добавляем агент
            CAgent::AddAgent($agentName, 'main', 'N', 0, '', 'Y', ConvertTimeStamp($date, 'FULL')
            );
        }
    }

    // функция, вызываемая агентом
    function ClearCacheByIBlockID($IBLOCK_ID, $ID)
    {
        if (defined('BX_COMP_MANAGED_CACHE') && is_object($GLOBALS['CACHE_MANAGER']))
            $GLOBALS['CACHE_MANAGER']->ClearByTag('iblock_id_'.$IBLOCK_ID);
        return '';
    }

}

以上是关于php Автоматическаяочисткатегированногокеша添加了的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf FlexGet:АвтоматическаяRSS-скачкасериаловLostfilm.tvдляновойверсиисайта

text АвтоматическаяSK-авторизацияпоключу

sh АвтоматическаяSK-авторизацияпоключу

php расстояниемеждудвумяточками

php Методыдляработыскоэффициентамимассивыпишемсключамикаквгетлисте

python Естьдваспискаразнойдлины。 Впервомсодержатсяключи,авовторомзначения。 Напишитефункцию,котораясо