Показать сообщение отдельно
Старый 03.10.2008, 16:57   #9
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от demav Посмотреть сообщение
Здорово, спасибо.
В принципе как с memcached работать понятно. Но больше интересовало как "перехватить" контент, который генерит TYPO3, чтобы его положить в кеш.
Если кэшировать вставки USER_INT, то в typo3/sysext/cms/tslib/index_ts.php есть блок:

PHP код:
// ********************************
// $TSFE->config['INTincScript']
// *******************************
if ($TSFE->isINTincScript())        {
    
$TT->push('Non-cached objects','');
        
$INTiS_config $TSFE->config['INTincScript'];

            
// Special feature: Include libraries
        
$TT->push('Include libraries');
        foreach(
$INTiS_config as $INTiS_cPart)    {
            if (
$INTiS_cPart['conf']['includeLibs'])    {
                
$INTiS_resourceList t3lib_div::trimExplode(',',$INTiS_cPart['conf']['includeLibs'],1);
                
$TT->setTSlogMessage('Files for inclusion: "'.implode(', ',$INTiS_resourceList).'"');

                foreach(
$INTiS_resourceList as $INTiS_theLib)    {
                    
$INTiS_incFile $TSFE->tmpl->getFileName($INTiS_theLib);
                    if (
$INTiS_incFile)    {
                        require_once(
'./'.$INTiS_incFile);
                    } else {
                        
$TT->setTSlogMessage('Include file "'.$INTiS_theLib.'" did not exist!',2);
                    }
                }
            }
        }
        
$TT->pull();
        
$TSFE->INTincScript();
    
$TT->pull();

То есть вся обработка USER_INT скриптов ведется в функции $TSFE->INTincScript();
Соответственно тут можно перехватить и либо отдать из кэша, либо пойти по пути генерации как обычно.
dmartynenko вне форума   Ответить с цитированием