我正在爲現有日曆解決方案添加日視圖選項。像許多人在實施自己的日曆一樣,我正在嘗試對Google日曆進行建模。他們有一個出色的日曆解決方案,他們的日曆視圖提供了很大的靈活性。大多數情況下,實施進展順利;但是,當涉及衝突事件時,我遇到了問題。PHP日曆日視圖
本質上,我希望事件共享相同的空間,並排。同時開始的事件應該首先發生時間最長的事件。在設置我正在使用的數據。例如,我有四個事件:
答:10:30 - 11:30
B:13:30 - 14:30
C: 10:30 - 11:00
d:10:45 - 14:00
我可以處理A,C和d就好了,問題就來了與D. A應被左C這應該留給D;每個寬度的三分之一(這是固定的寬度,所以我可以做簡單的數學來弄清楚)。問題是B應該在A和C之下,在D的左邊。理想情況下,B將佔用與A和C(三分之二寬度)相同的空間量,但是我甚至只會承擔它的作用而已三分之一寬度。
我的活動的陣列看起來類似於以下內容:
$events = array(
'1030' => array(
'uniqueID1' => array(
'start_time' => '1030',
'end_time' => '1130',
),
'uniqueID2' => array(
'start_time' => '1030',
'end_time' => '1100',
),
),
'1045' => array(
'uniqueID3' => array(
'start_time' => '1045',
'end_time' => '1400',
),
),
'1330' => array(
'uniqueID3' => array(
'start_time' => '1330',
'end_time' => '1430',
),
),
);
我的計劃是一些指標增加,其中包括有多少事件,它與衝突的每個事件(這樣我就可以計算出寬度)和位置在那個系列中它應該是(所以我可以計算左值)。然而,這並沒有幫助B.我想我可能需要一個算法,使用一些基本的幾何和矩陣,但我不知道從哪裏開始。
任何幫助,非常感謝。
這很棒!我只希望這是在實施月份和周視圖的時候。我可以使用這個插件來處理所有的渲染,包括我遇到麻煩的位置,並指向它返回事件(當然是JSON編碼)的站點上的文件。謝謝! – JamesArmes
沒問題,希望它適合你。如果你需要任何幫助,請給我留言。 :-) –