2014-10-19 55 views
0

我正在寻找ColdFusion代码来添加“添加到日历”链接到我们的活动页面,类似于EventBrite和Meetup.com上的链接。他们有链接可将他们的活动添加到Outlook,Google和iCal日历中。如果其他语言的代码具有类似的功能,我可以使用它。使用ColdFusion在网页上添加“添加到日历”

+0

OK这样可以防止被别人混淆,在Meetup.com的链接添加到Outlook和添加到iCal生成完全相同的iCal文件。偷偷摸摸的黄鼠狼。所以你只需要iCal和Google。 – 2014-10-20 16:09:02

+0

其他问题的答案没有针对Google日历。 – 2014-10-20 16:12:26

回答

2

下面是具体的日历事件提供的.ics文件的例子:

<cfset ICSContent = ""> 
<cfset ICSContent = ICSContent & "BEGIN:VCALENDAR#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "VERSION:2.0#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "CALSCALE:GREGORIAN#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "PRODID:Coldfusion8#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "BEGIN:VEVENT#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "UID:#eventItem.getEvent_id()#@extension.unh.edu#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "SUMMARY:#eventItem.getTitle()##chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "DESCRIPTION:http://extension.unh.edu/events/index.cfm?e=app.event&event_id=#eventItem.getEvent_id()##chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "DTSTART:#DateFormat(DateAdd('h',timeInfo.utcHourOffset,eventItem.getGmt_start()),"yyyymmdd")#T#TimeFormat(DateAdd('h',timeInfo.utcHourOffset,eventItem.getGmt_start()),"HHmmss")#Z#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "DTEND:#DateFormat(DateAdd('h',timeInfo.utcHourOffset,eventItem.getGmt_end()),"yyyymmdd")#T#TimeFormat(DateAdd('h',timeInfo.utcHourOffset,eventItem.getGmt_end()),"HHmmss")#Z#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "DTSTAMP:#DateFormat(DateAdd('h',timeInfo.utcHourOffset,Now()),"yyyymmdd")#T#TimeFormat(DateAdd('h',timeInfo.utcHourOffset,Now()),"HHmmss")#Z#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "END:VEVENT#chr(13)##chr(10)#"> 
<cfset ICSContent = ICSContent & "END:VCALENDAR"> 
<cfheader name="Content-Type" value="text/calendar"> 
<cfheader name="Content-Disposition" value="attachment; filename=UNHCEevent#DateFormat(eventItem.getGmt_start(),"yyyymmdd")#.ics"> 
<cfoutput>#ICSContent#</cfoutput>