tt_news定时发表文章

时间:2016-03-07 20:00:40

标签: caching typo3 tt-news

在我的TYPO3 6.2.17安装中,我使用tt_news扩展名3.6

我的文章位于文件夹中,并显示在默认的tt_news列表元素中。通常如果我保存一篇文章,我需要刷新Frotend Cache。到目前为止一直很好。但是,有时我需要显示定时的新闻文章,即从特定日期开始,我用新闻文章的访问标签中的起始值做了。问题是新闻不会在所需的日期显示,直到有人删除前端缓存,加上设置日期之后。

在访问开始日期之后,我可以做什么,以便在没有任何人手动删除前端缓存的情况下显示文章。

编辑: 这个问题不能仅通过cron作业来解决,因为内容编辑很难为每篇新闻文章创建一个cron作业

2 个答案:

答案 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

或者,您可以从缓存中排除包含列表插件的页面。检查页面属性中的行为选项卡。