【问题标题】:typo3 flush cache additional action错字3刷新缓存附加操作
【发布时间】:2013-05-31 11:45:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: caching hook typo3 flush


    【解决方案1】:

    你需要为此使用钩子。

    在 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 以查看您可以在此函数中使用哪些参数。

    【讨论】:

    • 你可以看看rhtmlarea系统扩展。
    【解决方案2】:

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

    在 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
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多