行事曆
想要在你的 drupal 網站上放一個行事曆嗎? 請參考這篇文章: Cookbook: Prepare an Event-Calendar for Drupal 7。 以下是我大略照做, 再用中文按照自己真實步驟重寫的筆記。
首先要安裝幾個模組: drush dl ctools calendar date
views
然後啟動 calendar、 date、 Views UI
等等幾個模組。 Drupal
會自動找出其他需要的相依模組並請你確認一併啟動。
在 「架構」的 「內容類型」 底下點選 「新增內容類型」。 我把它的 「名稱」 取做 「活動/事件」; 「機器名稱」 取做 「event」。
新增欄位時, 選擇 「Date (ISO format)」。 我叫它 「活動日期/時間」 (圖中藍框; 等一下會用到), 而它的 「機器可讀名稱」 則設成 field_event_date (圖中綠框; 等一下也會用到) 好了。 順便也加一個 「標籤 (Tags)」 欄位。
設定 「活動日期/時間」 欄位時, 勾選 「必須填寫欄位」, 也勾選 「Collect an end date」, 但是不勾選 「Collect an end date」 之下的 「必要」。 又, 點一下 「More settings and values」 出現更多選項。 「Date entry options」 挑一個臺灣人比較習慣的日期格式。
再進入 「架構」 => 「Views」, 點選 「Add view from template」 (從樣版產生一個 view)。 剛才你為 「Date (ISO format)」 欄位的 「機器可讀名稱」 取什麼名字, 現在就選相同名字出現的那個樣版。 (圖中綠框) 「檢視名稱」 我填入 「行事曆」; 「機器可讀名稱」 就填 「calendar」 吧。
然後會被帶到新產生的 view 的設定頁面。 我只修改 「路徑」 欄位, 把又臭又長的 「calendar-node-field-event-date/month」 改成簡短的 「calendar」。 儲存之後, 馬上到 「架構」 => 「選單」 => 「Main menu」 => 「列出連結」=> 「新增連結」 把剛剛設定的簡短路徑填到選單裡面去。
離開管理介面後,
現在就可以從主選單進入行事曆了!
有時可能會出現一堆 「Warning:Illegal string offset
'data' 於 template_preprocess_calendar_month()...」
的錯誤訊息, 就算重新整理網頁也消不掉。
這時請編輯 sites/all/modules/calendar/theme/theme.inc
或 sites/default/modules/calendar/theme/theme.inc
在這個檔案裡面搜尋到 「$cell = $data」, 在 $cell
= $data['data'];
這句話上面加上一句:
if (!is_array($data)) continue;
然後再重新整理網頁就 ok 了。 詳見 這一頁。
當然, 目前行事曆內並沒有任何內容。 要先從 「新增內容」 裡面選取 「活動/事件」, 新增幾筆資料, 才看得出來。 提醒: 一開始只有管理員 admin 可以新增這類型的內容。 請到 「使用者」 的 「權限」 分頁開放 「活動/事件」 的新增/修改/刪除等等權限給更多使用者。
如果你新增的活動/事件是單日的活動, 那麼行事曆會顯示活動/事件的起迄時間。 不過預設的顯示會把年月日也一起顯示出來 -- 這有點累贅而且佔用版面。 想要只顯示時分 (而不顯示年月日) 就要這樣做:
- 在 「設定」 => 「日期與時間」 底下的 「格式」 分頁, 按下 「新增格式」。
- 在 「格式字串」 內填入 「G:i」 並按下 「新增格式」
- 仍舊在 「設定」 => 「日期與時間」 底下, 切換回 「類型」 分頁, 按下 「新增日期類型」。
- 「日期類型」 填 「時分」; 「機器可讀名稱」 填 hour_minute; 「日期格式」 選取剛剛新增的 (可能在最底下) 簡短時分格式。 最後按下 「新增日期類型」
- 在 「架構」 => 「views」 底下的 「行事曆」 按下 「編輯」。
- 在 「欄位」 底下, 點選 「內容: 活動日期/時間」 (先前 「Date (ISO format)」 欄位的名稱; 圖中藍框) 並將 「Choose how users view dates and times:」 改選為剛剛建立的 「時分」 日期類型。
- 被帶回 「行事曆」 的編輯畫面, 要記得按 「儲存」 才算生效。
以上參考 Show Time of Event Only in Calendar。
- 本頁最新版網址: https://frdm.cyut.edu.tw/~ckhung/b/dp/calendar.php; 您所看到的版本: January 06 2015 20:44:35.
- 作者: 朝陽科技大學 資訊管理系 洪朝貴
- 寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
- 本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。