線上使用者

目前共有 0 位註冊使用者8 位訪客 在線上。

新會員

  • hihi
  • lady8904
  • xyz
  • arsisthesis
  • selly

書籍推薦

Scheduler 模組 - 指定 Node 的公佈與關閉日期

Arthur Yu 的照片
Average: 5 (1 vote)

如果阿舍可以量產文章,一次生個幾十篇出來, 然後再設定成每天自動公佈一篇,那不知有多好哩 !? ( 幻想中......) ,事實是...不可能...=_____=!!,阿舍是一下子生不出來幾十篇的哩!! 好吧 ! 量產是不可能,這個定時的功能應該是不難吧 ! 只是阿舍從以前就一直很納悶,為什麼連個設定公佈時間的功能都能搞成一個獨立的模組來的,這不是應該要內建的嗎 ??

算了,玩久了 Drupal 就會瞭解,一切都是彈性惹的禍,為了要能夠更有彈性的擴充 Drupal 的功能,將功能做適當的切割是有必要的,這樣才能經由任意的組合排列來產生新功能與滿足新用途,這也就是 Drupal 厲害和神奇的地方,其實,阿舍個人是認為,Drupal 的某一些概念與作法和 SOA ( 服務導向架構 ) 是滿接近的,尤其是在 Services 模組出現之後,就更有那個味道了.....不過,扯遠了...呵呵 !!

言歸正傳,這個 Scheduler 模組的功用,就是為每個內容類型提供一個可設定公佈 ( Publish ) 和關閉 (Unpublish ) 時間的功能,讓文章不會在按下「送出」之後就公佈出去了,而是等到指定的日期或時間到了才自動變更為公佈的文章。

Scheduler 模組的安裝與設定並不複雜,首先要到下面的網址去下載來安裝與啟用,5.x 和 6.x 都有支援,而且設定和用法都是一樣的....

http://drupal.org/project/scheduler

安裝啟用完成之後,就先到「管理」>「網站設定」> 「Scheduler module settings」(/admin/settings/scheduler) 來設定日期的輸入格式,預設是 「Y-m-d H:i:s」,就是用 "年-月-日 時-分-秒" 來當作日期和時間的輸入格式,阿舍沒有改,就用這個預設的格式。

再來就是到內容類型去啟用 Scheduler 模組的功能,在啟用 Scheduler 模組之後,到 「管理」>「內容管理」> 「內容類型」(/admin/content/types) 選任何一個內容類型進入編輯畫面後,就會看到多出下面這二個選項:

Enable scheduled (un)publishing
打勾來啟用這個內容類型的定時公佈與關閉功能。

Alter published on time
因為有了個 Scheduleer 模組以後,文章的實際發佈時間與完成時間可能會不一樣,所以就用這個選項來選擇說,要不要把文章的發佈時間改成實際發佈時間。

舉例來說,假設阿舍的這篇文是在 2008-12-09 12:00:00 寫好的,然後有設定要在 2008-12-10 01:01:01 的時候發佈,如果有啟用這個選項的話,發佈日期就會是後面的 2008-12-10 01:01:01 那個個日期,否則,就應該是原始的發佈日期 2008-12-09 12:00:00,這樣各位大德可以理解嗎 ? 阿舍自己是試了一陣子才懂的...=____=!!。

兩個選項都勾好之後,就可以開啟來新增一份文章看看了,阿舍是把這個功能啟用在 Story 的內容類型上,以就去新增一個 Stroy,然後就有多出一個小節叫做「Scheduling options」的,裡面就可以設定發佈和關閉的時間,請各位大德要注意輸入的格式哩 !! 阿舍都是偷懶的從欄位下面的說明 Copy 上來改的...呵呵 !!

這個 Scheduler 模組的權限設定項目只有一個,就是用來設定那個角色可以設定文章的「Scheduling options」項目,所以,各位大德在設定時,記要到「管理」 » 「使用者管理」»「權限控制」( /admin/user/access ) 裡,把 schedule (un)publishing of nodes 項目也給勾起來才行。

由於 Scheduler 模組是跟時間和週期有關的,所以就免不了和 Cron.php 有關,所以,這個 Scheduler 模組的公佈時間是要配合 Cron.php 來執行的,如果 Sceduler 的週期小於 Cron.php 的話,還是會以 Cron.php 的週期為基準的,請各位大德要多注意哩 !!

不過,因為 Cron.php 要做的工作很多,如果公佈的時間週期很短,然後也把 Cron.php 的執行週期縮短的話....這樣可能會把網站的效能給搞垮的,所以 Sceduler 模組也有自己準備一個 Cron.php,但是阿舍沒有找到哩 !! 要再研究研究哩 !!.....=_____=!!。

大德 (未確認)
thx , just help me

i just come across this situation

大德 (未確認)
請問阿舍:   為何在Unpublish的欄位選擇要關閉的

請問阿舍:
  為何在Unpublish的欄位選擇要關閉的日期與時間,
  時間到了卻沒有真正關閉呢?有手動執行cron。

Arthur Yu
Arthur Yu 的照片
User offline. Last seen 2 日 17 小時 ago. Offline
Joined: 12/17/2007
看一下 Log

Hello,

如果設定都沒錯的話,阿舍建議大德手動執行一次 Cron.php,然後到 admin/reports/dblog 去看看有沒有發生什麼錯誤,這是阿舍目前想到的....。

供參囉 !! ^^=。

阿舍...
阿舍的 Drupal 架站經驗談 - http://drupal.soa.tw

阿舍...
阿舍的 Drupal 架站經驗談
http://drupal.soa.tw

大德 (未確認)
阿舍大大,您最后的一句才是关键,请问如何单独设置crop.

阿舍大大,您最后的一句才是关键,请问如何单独设置crop.php呢?谢谢,您的文章很有参考价值!!!!

Arthur Yu
Arthur Yu 的照片
User offline. Last seen 2 日 17 小時 ago. Offline
Joined: 12/17/2007
直接用網址

Hello,

Drupal 6 以前的版本沒有對 cron.php 做限制,所以, 直接用網址就可以了, 例如, Drupal 的網址是 http://soa.tw , 那麼用 http://soa.tw/cron.php 就可以執行了, 另外, 也可以到 /admin/reports/status 這裡按 「手動執行 Cron」....

阿舍...
阿舍的 Drupal 架站經驗談
http://drupal.soa.tw

BloggerAds

Facebook Page

Drupal 新聞

Translate


訂閱服務...

最新回應

阿舍的隨手....