1

我们使用 tx_news 2.3.0(不是最新版本!- 现在无法更新..)并且有一个奇怪的错误,即在Publish Date设置时不会发布新闻(或者更好的是,它会在几天后发布)。

作为解决方法,我创建了一个小脚本并使用 cronjob 运行它:

UPDATE `tx_news_domain_model_news` SET `datetime` = `starttime`, `starttime` = 0 WHERE `starttime` <>0 and `starttime` < UNIX_TIMESTAMP()

基本上它设置Date & Time字段 =Publish Date并清除该Publish Date字段(如果该字段较旧)now。在我们启用一些缓存之前,这种解决方法做得很好。

现在有一个问题,有时新发布的文章没有出现在新闻列表视图插件的前端。在Flush frontend caches它出现之后。但有时它在不清除缓存的情况下工作。有时当不清除缓存时,文章会在几个小时后出现。

我不想禁用带有新闻列表视图插件的站点的缓存。

那么处理这个问题的最佳方法是什么?有没有办法只清除 tx_news 插件的缓存?仅对特定站点或新闻文件夹可能更好?也许直接通过数据库?

有任何想法吗?

编辑:如果我是对的,当您更改新闻文章中的某些内容时应该自动删除缓存。当我通过数据库执行此操作时,本文不会删除缓存。于是我测试了一下,我运行脚本,看到文章没有发表,去后台,打开一篇这篇文章并保存(不做任何更改),然后所有文章都发表了。也许有一种方法可以模拟它?

4

1 回答 1

0

我找到了一个解决方案:

当我直接操作数据库时,缓存系统不知道此更改。因此,如果您在此更改后保存文章,缓存系统会删除该站点的条目(并且仅适用于该站点)。要强制缓存为此站点创建一个新的缓存条目,我可以操作表cf_cache_pagesection并将expires字段设置为 1(这意味着此缓存条目已过期。我使用以下 SQl:

update `cf_cache_pagesection` set expires = 1 where identifier like '44_%'

(我要更改的页面获得了 uid 44,用于标识符)

于 2015-06-23T13:56:32.890 回答