TYPO3清除缓存的额外操作

3

我如何在Typo3的“清除所有缓存”操作中添加任务?

我编写了一个带有自己XML文件的前端插件,具有基于缓存的系统,我想通过使用标准按钮使管理员有可能清除此缓存。

是否有可能将用户扩展 pi1->flushAll() 注册到系统的缓存机制中?

2个回答

4
你需要使用钩子来实现这个功能。
在 ext_localconf.php 文件中写入:
```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中创建tx_yourext_hooks类,并添加clearCachePostProc函数。

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

调试 $params 可以看到你可以在这个函数中使用哪些参数。


你可以看一下rhtmlarea系统扩展。 - pgampe

3
如果您想注册单独的缓存清除钩子
请在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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接