簡體   English   中英

如何從php / mysql為DojoX日歷加載事件?

[英]How to load events from php/mysql for DojoX Calendar?

我想自定義DojoX日歷小部件( http://dojotoolkit.org/reference-guide/1.8/dojox/calendar.html ),以便從php / mysql中動態加載事件。

我有一個db表,其中存儲了事件,並且在第一次初始化之后,應該再次檢索事件(ajax調用?),僅當我更改日歷視圖時,例如當我點擊進入上一個/下個月時。 所以我的問題是:我在哪里更改JS代碼,參考Dojox日歷示例/文檔頁面? 我需要在JS代碼中進行哪些更改才能調用(http post或get)PHP文件並在月份更改時獲取新的JSON數據集?

我也讀過這個帖子: dojox.calendar和JsonRest - 如何更新?

但:

  1. 我需要一個完整的工作示例(即使是最小的)與HTML,JS和PHP代碼
  2. 我無法在該線程上發布stackoverflow發布規則和網絡禮節

我覺得有人已經開發出這種解決方案......

我希望有人可以幫助我,謝謝!

根據您擁有的事件數量,您可以將每個事件最初加載到日歷中,無論您滾動的月份/視圖是什么,事件都將存在。

到目前為止,如何從數據庫后端加載事件的示例如何:

當然。 干得好:

假設您的php文件(我們稱之為calendar-events.php )以下列JSON格式從您的mysql表返回以下事件數據:

{
    "items": [
        {
            "id":"0",
            "summary":"An event in the calendar",
            "calendar":"calendar1",
            "startTime":"1351756800",
            "endTime":"1351771200"
        }
    ]
}

現在,創建檢索數據的商店:

var calendarStore = new ItemFileWriteStore({
    url: "calendar-events.php",
    clearOnClose: true,
    urlPreventCache: true 
});

最后,將商店設置為calendar並呈現calendar

calendar = new Calendar({
            store: calendarStore,
            dateInterval: "month",
            region: "center",
            roundToDay: false,
            editable: false,
            decodeDate: function(s){
                    return new Date(s * 1000);
            },
            style: "position:absolute;left:10px;top:10px;bottom:10px;right:10px;",
            columnViewProps: {
                    minHours: 0,
                    maxHours: 24
            }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM