2010-11-05 24 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