typo3 flush cache附加动作

时间:2013-05-31 11:45:44

标签: caching hook typo3 flush

如何将任务添加到Typo3的“清除所有缓存”-action?

我已经编写了一个带有自己的基于XML文件的缓存系统的前端插件,我希望管理员可以使用标准按钮刷新此缓存。

是否有可能注册p.e. user_extension_pi1-> flushAll()到系统的缓存机制?

2 个答案:

答案 0 :(得分:2)

你需要使用钩子。

在ext_localconf.php中写:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = 'EXT:yourext/class.tx_yourext_hooks.php:tx_yourext_hooks->clearCachePostProc';

然后在class.tx_yourext_hooks.php中使用函数clearCachePostProc创建类tx_yourext_hooks

function clearCachePostProc(&$params, &$pObj) {

调试$ params以查看您可以在此函数中使用的参数。

答案 1 :(得分:0)

如果您要注册单独的缓存清除钩子

  

在ext_localconf.php中注册以下内容

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['additionalBackendItems']['cacheActions']['custom_key'] =
 'NAMESPACE_OF_CLASS';
  

该类必须具有工具

\TYPO3\CMS\Backend\Toolbar\ClearCacheActionsHookInterface
  

并覆盖其方法

public function manipulateCacheActions(&$cacheActions, &$optionValues) {
    //YOUR CUSTOM CODE OF OVERRIDE
}