我是TYPO3的初学者。我使用Kickstarter创建了一个扩展,并且我想仅为该扩展禁用缓存,而不是对于我的TYPO3网站的其他页面。
我应该如何做呢?
非常感谢。
我是TYPO3的初学者。我使用Kickstarter创建了一个扩展,并且我想仅为该扩展禁用缓存,而不是对于我的TYPO3网站的其他页面。
我应该如何做呢?
非常感谢。
你需要注意三个位置。首先查看你的ext_localconf.php文件。对于每个插件(我指的是前端插件),都有一行类似于这样的代码:
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 1);
要禁用缓存,您需要将最后一个值设置为零,例如:
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 0);
在插件的PHP文件中(例如pi1/class.tx_yourext_pi1.php),您需要确保以下行要么被删除,要么被注释掉,或者改为"false"
$pi_checkCHash = true;
$this->pi_USER_INT_obj = 1;
应该可以了。
cu Roman
http://web.archive.org/web/20180128154846/http://typo3blog.at/blog/artikel/typo3-caching-grundlagen/
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'MyCompany.' . $_EXTKEY,
'Sample',
['Sample' => 'index'],
// non-cacheable actions:
['Sample' => 'index']
);
https://docs.typo3.org/typo3cms/ExtbaseFluidBook/4-FirstExtension/7-configuring-the-plugin.html
让我们使用更近期的信息更新此问题,适用于TYPO3 CMS 6.0.x-6.2.x。如果您有一个尚未上线的开发站点,我建议使用FluidTYPO3团队制作的uncache扩展程序。这很好,因为可以完全禁用缓存,直到解决了错误,这样您就不必每两秒清除一次缓存。
使用以下脚本从当前页面中删除缓存。
$GLOBALS['TSFE']->set_no_cache()
你可以在控制器文件中使用上述脚本。