在我的TYPO3 6.2.17安装中,我使用tt_news扩展名3.6
我的文章位于文件夹中,并显示在默认的tt_news列表元素中。通常如果我保存一篇文章,我需要刷新Frotend Cache。到目前为止一直很好。但是,有时我需要显示定时的新闻文章,即从特定日期开始,我用新闻文章的访问标签中的起始值做了。问题是新闻不会在所需的日期显示,直到有人删除前端缓存,加上设置日期之后。
在访问开始日期之后,我可以做什么,以便在没有任何人手动删除前端缓存的情况下显示文章。
编辑: 这个问题不能仅通过cron作业来解决,因为内容编辑很难为每篇新闻文章创建一个cron作业
答案 0 :(得分:1)
在给定页面上完全禁用缓存不是最佳选择,特别是如果您有大量新闻要一次渲染和/或大量访问者,对于这种情况,即使相对较短的缓存也比没有缓存更好所有。最简单的方法是缩短显示列表和单个视图的页面的缓存时间,方法是在上添加 更短的时间段,如:
[globalVar = TSFE:id = 123|345]
config.cache_period = 60
[end]
(其中123
是您的列表页面,345
是单页UID)使用条件您也可以在这些页面上创建ext TypoScript模板。
请记住,缓存的时间段是从其创建时间开始计算的,因此可能会发生一些帖子需要2个句点(因为第一个可能被时间差异消除)才会消失。如果您现在隐藏项目绝对重要,只需将cache_period
值设置为29
秒。
最后,如果在列表/单个页面上有需要大量渲染的元素(如高级TMENU等),您可以使用cache
函数另外缓存这些元素,它将阻止重新渲染菜单页面的缓存过期,无论如何你仍然可以强制从BE清除黄色闪烁图标,
伪代码:
lib.mainMenu = COA
lib.mainMenu {
stdWrap.cache.key = lib_mainMenu_{page:uid}_{TSFE:sys_language_uid}
stdWrap.cache.key.insertData = 1
stdWrap.cache.lifetime = 3600
10 = HMENU
10 {
// ... your menu code
}
}
答案 1 :(得分:0)
要通过外部触发器清除缓存,请参阅昨天提出的问题:Refresh Typo3 by web server cron job
或者,您可以从缓存中排除包含列表插件的页面。检查页面属性中的行为选项卡。