2011-03-15 82 views
8

我是typo3的初学者,我已经对Kickstarter进行了扩展,并且希望仅对此扩展禁用缓存,而不是针对我的typo3网站的其他页面。Typo3 - 为扩展禁用缓存

我该怎么做?

非常感谢。

回答

3

还禁止或限制缓存时间在每个页面的基础上可能是一个解决方案 的设置下pageicon编辑 - >选项卡的行为? - >缓存设置 (在no_cache = 1 URL参数)

另一种方法是清除缓存时的数据是在一个系统夹改变 /设置在其TS页面配置的自动清除用于单页 TCEMAIN.clearCacheCmd = 1,3,5 - 数字pid逗号分隔 TCEMAIN.clearCacheCmd =全部或清除cach Ë所有

http://typo3blog.at/blog/artikel/typo3-caching-grundlagen/

http://typo3weblog.de/2008/07/26/tcemainclearcachecmd-statt-clear-cache-button/

+1

正如其他答案中所述 - 在页面属性中禁用缓存可导致该页面的完全缓存解除,而不仅仅是扩展本身。 – Krystian 2012-09-18 17:33:49

1

使用$GLOBALS['TSFE']->set_no_cache()will disable caching对于整个页面

如果要禁用页面缓存,请调用函数$GLOBALS["TSFE"]->set_no_cache()。在开发过程中调用它!如果您创建的内容可能无法缓存,请调用它。

Other sources是说明性的。

相反,请确保您的分机类型为USER_INT,参见参考资料。 the docs

$this->pi_USER_INT_obj = 1; 
+1

这并没有解决所有问题,您仍然需要更改您的ext_localconf.php,如其他答案中所述。 – cweiske 2011-05-13 09:13:09

24

您需要注意三个位置。首先看看你的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),你需要确保下面的行要么删除,注释或更改为“假”

$pi_checkCHash = true; 

在最后,将此行添加到main()函数(其他地方的某处):

$this->pi_USER_INT_obj = 1; 

应该这样做。

铜 罗马

+0

你对ext_localconf.php文件的建议刚刚修复了一些令我对aaaa痴迷的东西...... – 2012-06-05 11:35:34

0

让我们更新更近的信息这个问题适用于TYPO3 CMS对6.0.x-6.2.x中在写这篇文章的时间。如果您有一个尚未开启的开发站点,我使用了FluidTYPO3 team所做的uncache扩展。很高兴能够完全禁用缓存,直到您得到错误,因此您不会每2秒清除一次缓存。

-3

使用下面的脚本。

$GLOBALS['TSFE']->set_no_cache() 

上面的脚本可以在控制器文件中使用。

+1

这将禁用整个页面缓存。不要使用它。 – fnagel 2017-10-24 09:07:45