我有一个问题。 我的一些CMS,在发布部分,我们有一个选项:“发布到未来”。如果我们检查它,我们可以给它一个发布该文章的日期和时间。 (例如2011年1月1日)。 当这一天到来时(2011年1月1日),CMS会自动发布该文章。
如何??? (这可能吗?或者我认为错了?)
答案 0 :(得分:5)
这对于您正在使用的任何CMS都非常具体,但我猜它只是存储“发布日期”,然后当被要求显示所有文章时,它会执行以下操作:SELECT * FROM articles WHERE post_date <= NOW()
答案 1 :(得分:2)
有多种方法可以实现这样的功能。
我认为最简单的方法是在数据库中使用startTime字段。当您加载文章列表时,您可以WHERE startTime < NOW()
。这将使文章只在指定时间后出现。
您也可以使用cron或许多其他方法。
答案 2 :(得分:0)
取决于。
在许多情况下,这只是一个未发布的问题 - 但是没有出现在任何地方的文章(搜索结果,主页,档案......)可以通过在文章表中存储发布日期并对其进行测试来完成:
SELECT * FROM article WHERE publishDate < NOW()
然而,一些任务必须在文章发布的确切时刻(例如pingbacks / trackbacks,向订阅者发送电子邮件......)进行,并且解决方案是安排任务经常运行(例如,每五分钟一次),查询数据库以查找过去发布日期的任何未发布的文章,并执行发布它们所需的任何内容。