2011-08-31 47 views
2

我爲Drupal 7使用FullCalendar模塊。我想要做的不是顯示日曆中的事件,而是用粗體標記事件發生的日子標記當天(數字),或改變當天(方塊)或某物的背景顏色。問題是,我應該在哪些文件中更改以實現此目的?一直在查看大部分文件,但我無法弄清楚。標記事件而不是顯示事件的日子

任何想法?

回答

1

這聽起來像你可以通過自定義由完整日曆模塊創建的Jquery日曆來完成此操作。使用fullcalendar來做到這一點意味着寫一些JavaScript而不是通常的drupal的php。

查看完整日曆插件的文檔,似乎可以基於現有的月視圖定義一個新的視圖(這是在javascript中的fullcalendar中的「視圖」,而不是drupal視圖)。

http://arshaw.com/fullcalendar/

見的基本用法頁面,則需要以類似的方式來編輯Drupal的模塊中的JavaScript以下:

http://arshaw.com/fullcalendar/docs/usage/

在這裏,你可以創建在每個事件顯示在日曆上之前調用的回調函數eventRender()。在這個函數中,檢查view.name的值以查看當前是否選擇了新視圖。

使用傳遞的事件對象計算出事件的日期(比較事件日期和日期view.visStart來計算第N天),並使用.fc上的jquery選擇器更改日曆的外觀·天(N)。您可以使用css類來重新設置數字或當天的背景。通過爲所有事件返回false,將不會顯示包含該事件文本的普通框。

要讓人們查看事件,請設置一個回調函數來響應dayClick()。使用它來檢測一天中的點擊並通過切換到特定日期的日視圖來放大。

您可能還需要在viewDisplay上設置一個回調函數,該函數在日期範圍或視圖更改時從日曆中清除額外的css類或div。

只是改變css來表示事件的替代方法是使用圖標在一天內呈現每個事件小div,並使用在此處的eventRender文檔中提到的qtip懸停效果。 http://arshaw.com/fullcalendar/docs/event_rendering/eventRender/

相關問題