2009-08-12 106 views
0

所有地獄,我試圖在日曆中顯示事件時出現問題?

我正在創建一個事件模塊。像往常一樣,創建活動後,我們需要在日曆中點擊日期時在彈出窗口中顯示活動標題。它的工作。但如果我在同一天有多個事件,它只是顯示第一個事件。

我在這裏使用的模板引擎是SMARTY。我用{literal}區分smarty和JS。

下面是代碼:

function getDateInfo(date, wantsClassName) 
{ 

{/literal}{foreach from=$view_event item=event}{literal} // USED {literal} to differentiate SMARTY and Java Script. 

     var as_number = Calendar.dateToInt(date); 

if (as_number >= {/literal}{$view_event.sdate}{literal} && as_number <= {/literal}{$view_event.edate}{literal}) 

      return { 

       klass : "highlight2", 
       tooltip: "<div style='text-align: center'>From:{/literal}{$view_event.started_on|date_format:'%d-%m-%Y'}{literal} -- To:{/literal}{$view_event.end_on|date_format:'%d-%m-%Y'}{literal}<br>Event:{/literal}{$view_event.event_name}{literal}</div>" 

      }; 

    {/literal}{/foreach}{literal} 

    return DATE_INFO[as_number]; 
}; 

我怎樣才能做到這一點的關鍵問題。

在此先感謝...

+1

你可以重新格式化代碼,也許可以解釋在示例中使用了什麼樣的模板語言? – 2009-08-12 08:09:49

+1

我重新編寫了代碼(希望我沒有把它搞砸);使用的模板語言似乎smarty:http://smarty.net/(我承認文字和foreach標籤^^) – 2009-08-12 10:16:23

回答

0

有趣。我想也許你的功能在錯誤的論點。你的每個'事件'對象(你應該考慮一個不同的名稱,以避免衝突)應該有一些與它們相關的唯一ID。所以,當點擊一個'事件'時,你不會得到日期信息,而是'事件'信息。

function getEventInfo(evObj){ 
    // get your info by evObj.id, or something similar 
} 
+0

當在事件日曆中點擊日期時,我得到相應的日期,以便我能夠獲得事件通過使用mysql與該日期相關。所以我認爲不需要多一個功能。這是我的觀點。但建議總是受歡迎的。 – Fero 2009-08-13 05:33:26

+0

我聽到你在說什麼。但是,您試圖加載的這個觀點,是'日期'還是'事件'本身的觀點?從你原來的發帖開始,聽起來好像你只是在特定日期顯示第一個事件。 – 2009-08-14 01:35:35