2013-10-12 3 views
0

Мне интересно, как настроить кэширование кэширования для моего собственного расширения.Как настроить кеширование в собственном расширении

До сих пор я сделал следующее:

ext_localconf.php

if (!is_array($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY])) { 
    $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY] = array(); 
    $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY]['frontend'] = 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend'; 
    $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY]['backend'] = 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend'; 
    $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY]['options']['compression'] = 1; 
} 

в моем TestController.php я писал:

$this->cache = $GLOBALS['typo3CacheManager']->getCache(
      $this->request->getControllerExtensionKey() 
); 

$cacheIdentifier = sha1('form_data_' . $GLOBALS["TSFE"]->id); 

$formData = array(); 


if ($this->cache->has($cacheIdentifier)) { //This always results to false 
    $formData = $this->cache->get($cacheIdentifier); 
} else { 
    $conditions = array(
    path' => $this->settings['httpClient']['baseUrl'] . 'list.xml' 
); 

    $formData = $this->TestRepository->getFormData($conditions); 
    $this->cache->set($cacheIdentifier,$formData); 
} 

Так я не знаю, что я делаю неправильно.

Может кто-нибудь указать мне в правильном направлении.

Я работаю с TYPO3 6.1.5 Extbase 6.1.0

ответ

1

Ok я нашел ответ, как я проверил TYPO3_CONF_VARS для ЖИДКОСТИ Tamplates:

Они имели несколько различных конфигураций кэша:

После channging ext_localconf.php в

$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY]['frontend'] = 
'TYPO3\\CMS\\Core\\Cache\\Frontend\\PhpFrontend'; 
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$_EXTKEY]['backend'] = 
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend'; 

все работает отлично.

+0

Когда у вас есть время, можете ли вы объяснить, почему концепции по умолчанию для интерфейса и бэкэнд-кэша не работают? –

+0

Да, я могу. Я habe исключил действие формы, которая кэшируется по разным причинам. У меня есть аналогичные запросы к службе REST, которую я кеширую из «Руки» – MadeOfSport

+0

, что я действительно хотел узнать, по какой причине я заменил встроенный кэш по умолчанию другим? –

Смежные вопросы