2009-08-12 51 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