2010-11-05 69 views
0

我有一个问题。 我有些CMS,在发布部分,我们有一个选项:“发布到未来”。如果我们检查它,我们可以给它一个发布该文章的日期和时间。 (例如2011年1月1日)。 当一天到来时,(1/1/2011),CMS自动发布该文章。发布未来?怎么样?

如何? (这是可能的吗?或者我想错了吗?)

+1

需要澄清。这似乎没有编码相关。看起来像帮助“后期调度”的东西,如WordPress或内容。 – Jakub 2010-11-05 19:47:36

+1

您现在要求使用CMS还是如何将此功能添加到一个? – 2010-11-05 19:48:23

+0

CMSes不发布文章。他们只是从数据库中请求他们。 *根据一些规则* – 2010-11-05 20:02:35

回答

5

这是非常具体的,无论您使用的CMS,但我会猜测它只是存储“发布日期”,然后当被问到显示所有文章,如:SELECT * FROM articles WHERE post_date <= NOW()

+1

他们会使用类似的功能来过期的文章。 – GalacticCowboy 2010-11-05 19:52:55

2

有多种方式来实现这样的功能。

我认为最简单的就是在你的数据库中有一个startTime字段。当您加载文章列表时,您可以执行WHERE startTime < NOW()。这将使得文章仅在指定时间之后显示。

你也可以使用cron或其他一些方法。

+0

推测你的意思是'WHERE startTime '。 – 2010-11-05 20:01:46

+0

是的,好的,写得太快。我编辑它来修复。 – 2010-11-05 20:03:21

0

取决于。

在很多情况下,这只是一个未发布的问题,但文章没有出现在任何地方(搜索结果,主页,档案等),可以通过在文章表中存储发布日期并对其进行测试:

SELECT * FROM article WHERE publishDate < NOW() 

然而,这是相当常见的,有些任务必须在文章发表的准确时间进行(如包括引用/引用通告,发送电子邮件给用户...)以及该解决方案是每隔一段时间(例如,每五分钟)运行一次计划任务,以便查询数据库中是否有过去发布日期的未发布文章,并做出发布它们所需的任何内容。

+1

应该是LT比较,而不是GT。 – ryeguy 2010-11-05 19:56:45