聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

一月 31, 2013
» 行事曆 (Calendar) on Drupal 7

先前在建置某網站時曾提過要有行事曆,也想過直接嵌入 Google Calendar 的方案,但對某些使用者而言並不友善,所幸該網站凍仁是建置在 Drupal 上的,只需將 Calendar 模組設定好即可,毋需再重新造輪子了。

套用 Corolla 主題的迷你行事曆 (min-calendar)。

# 若要使用 Calendar 模組記得要連相依的 Date 及 Views 兩模組也一同補上。

1. 安裝相關模組


1. 安裝 Calendar 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl calendar [Enter]
Project calendar (7.x-3.4) downloaded to /var/www/drupal/sites/all/modules/calendar.

2. 安裝 Date 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl date [Enter]
Project date (7.x-2.6) downloaded to /var/www/drupal/sites/all/modules/date. [success]
Project date contains 11 modules: date_migrate_example, date_migrate, date_views, date_repeat_field, date_repeat, date_popup, date_api,
date_tools, date_context, date_all_day, date.

3. 安裝 Date Popup Authored 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl date_popup_authored [Enter]
Project date_popup_authored (7.x-1.1) downloaded to /var/www/drupal/sites/all/modules/date_popup_authored.

4. 啟用 Calendar 模組。
[ jonny@squeeze ~ ]
$ sudo drush en calendar [Enter]

5. 啟用 Date Popup Authored 模組。
[ jonny@squeeze ~ ]
$ sudo drush en date_popup_authored [Enter]
The following extensions will be enabled: date_popup_authored, date_popup
Do you really want to continue? (y/n): y
date_popup was enabled successfully.
date_popup_authored was enabled successfully.

2. Calendar 應用


2.1. 新增「以建立日期為基準」的 Calendar View


若今天是想讓所有的文章 (node) 依造建立的時間點顯示在行事曆上,可以使用「A calendar view of the 'created' field in the 'node' base table.」,完成後會如 2.1.6 一般,此方案適合只需紀錄單一時間點的網站,例如:部落格、新聞、雜誌... 等等。

2.1.1. 新增 Calendar

1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。

2. 點選 Add view from template
(http://example.tw/admin/structure/views/add-template)。

3. 點選「A calendar view of the 'created' field in the 'node' base table.」一項的 add

4. 設定 Calendar 名稱。

5. 點選 儲存 寫入後,再點選 view month 檢視成果。

6. View: Calendar 新增完成。

2.1.2. 新增迷你行事曆 (mini-Calendar) 區塊 (block)

1. 進入區塊介面:首頁 » 管理 » 架構 (http://example.tw/admin/structure/block)。

2. 將「View Calendar: Block」設定至首側欄。

3. View: Calendar: Block 設定完成。

2.1.3. 修改星期翻譯

相信不少伙伴都發現上方的範例都有些小缺陷,那就是週日、一、五及六的日期怪怪的,這時只需自行改翻譯就可解決此問題。
  • 週曰
  • 週一
  • 週五
  • 週六

1. 進入翻譯介面:首頁 » 管理 » 設定 » 地區與語言 » 介面翻譯 (http://example.tw/admin/config/regional/translate/translate)。

2. 搜尋週五並編輯 Fri。

3. 手動更換為

4. 修改後的 View: Calendar

5. 修改後的 View: Calendar: Block

2.2. 新增「有事件起迄為基準」的 Calendar View


若今天是想表示某個事件 (Event) 且擁有某範圍的時間點,則可以使用「A calendar view of the 'field_event_date' field in the 'node' base table.」,好比 Google 行事曆般可顯示範圍的事件。

2.2.1. 新增內容類型 Event

1. 進入內容類型介面:首頁 » 管理 » 架構 » 內容類型 (http://example.tw/admin/structure/types)。

2. 點選 新增內容類型

3. 設定 Event 內容類型的名稱 (Title)。

4. 管理 Event 欄位。

5. 新增 Event Date 欄位,切忌 機器可讀名稱 (Machine Name) 不可重復。

6. 進入 Event Date 欄位設定,並將「Collect an end date」一項打勾 。

7. 更改欄位順序並點選 儲存

2.2.2. 新增 Event 內容類型

1. 進入內容介面:首頁 » 管理 (http://example.tw/admin/content)。

2. 新增內容。

3. 內容類型選擇 Event。

4. 新增有範圍的 Event。

2.2.3. 新增 Calendar Event

1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。

2. 點選 Add view from template
(http://example.tw/admin/structure/views/add-template)。

3. 點選「A calendar view of the 'field_event_date_test' field in the 'node' base table.」一項的 add

4. 設定 Calendar Event 名稱。

5. 點選 儲存 寫入後,再點選 view month 檢視成果。

6. View: Calendar Event 新增完成。

以上是凍仁對於 Calendar 模組較常使用的兩種應用,希望能幫得上大家。

相關連結:
Calendar Block | drupal.org
Pretty Calendar | drupal.org
Drupal Calendar Setup on Vimeo
How to Create a Mini Calendar in Drupal | eHow.com
資料來源:
Drupal + Calendar 讓網站擁有行事曆功能 - 玩物尚誌 by lyhcode
Build an Event Calendar in Drupal - slideshare


# 本文同步發佈於 自由軟體鑄造場 (OpenFoundry)

十二月 13, 2012
» Drupal 7 – 內容管理系統 (CMS) 開發框架

Drupal 是什麼?

Drupal 是一個 PHP based 的內容管理系統 (CMS) 開發框架 (framework,也有人稱它是一種平台),但其實安裝 Drupal 後,只會得到「半成品」CMS,需要管理者「用力的」客製化後才能見到比較漂亮及完整的成品。

因為 Drupal 也算是個 CMS,因此常常被拿來跟 Joomla、WordPress、Plone 等 CMS 相比較,當然 Joomla 及 WordPress 安裝完後也需要 User 客製化一番,只是 Drupal 想要變的把戲比較多,所以比較麻煩一點,所以沒辦法定型的發展成針對某種應用的 CMS,所以大部份新手使用 Drupal 的感覺是 Drupal 很陽春或者很醜,至少不像 Joomla,安裝完就有個漂亮的網站及後台。

原著的理解是,Drupal 應該是給開發者使用的 CMS 框架,但又不那麼 Framework。原著刻板印象覺得真正的 Framework 比較像是 Cake 或 CodeIgniter 這種東西,不過 Drupal 應該也算是比較高階一點的 Framework 吧。從Drupal 5 到 Drupal 6,感覺上跨了一大步,而 Drupal 7 又再一次給人全新的感受...

» 全文檢視


資料來源:
Drupal 7 – 內容管理系統(CMS)開發框架 @ mr.mu

十月 17, 2012
» 啟用 APC RFC1867 on Drupal 7

轉戰 web developer 的凍仁在某學姊的建議下開始使用 Drupal 來寫資訊系統,由於很多東西都還在摸索就不多加詳述了,以下是凍仁在狀態報告 (status) [1] 中遇到的錯誤訊息。

上載進度 未啟動
您的伺服器有通過 APC 的顯示檔案上載進度的能力,但他沒有啟動。將 apc.rfc1867 = 1 增加到您的 php.ini 配置。此外建議使用 PECL uploadprogress,支持多個檔案同時上載。

1. 於 php.ini 新增 apc 啟用參數。
[ jonny@squeeze ~ ]
$ sudo vi /etc/php5/apache2/php.ini [Enter]
1859
1860 [apc]
1861 apc.rfc1867 = 1
1862

2. 重新啟動 Apache。
[ jonny@squeeze ~ ]
$ sudo /etc/init.d/apache2 restart [Enter]
  * Restarting web server apache2
  ... waiting                         [ OK ]

3. 完成訊息。
上載進度 已啟動 (APC RFC1867)
您的伺服器使用 APC RFC1867 顯示檔案上載進度。注意它僅支持一次上載一個檔案。如果可能,推薦使用 PECL 上載進度庫

至於 uploadprogress 的部份要等有空才能研究了。

# [1] 詳細路徑為「首頁 » 管理 » 報告 » 狀態報告」,其網址看起來會像 http://jonny.ubuntu-tw.net/admin/reports/status

相關連結:
Ubuntu 如何安裝 PHP PECL 的擴充套件 ? | 阿舍的隨手記記、隨手寫寫...
解決 Drupal 上載進度條問題 (APC, PECL uploadprogress, Nginx upload progress) | notaBlueScreen

support:

biggo.com.tw

biggo.sg

A Django site.