我正在寻找 ColdFusion 代码以将“添加到日历”链接添加到我们的活动页面,类似于 EventBrite 和 Meetup.com 上的链接。他们有将他们的活动添加到您的 Outlook、Google 和 iCal 日历的链接。如果有其他语言的代码具有类似的功能,我可以使用它。
问问题
2866 次
2 回答
3
下面是为特定日历事件提供 .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>
于 2014-10-19T17:31:41.187 回答
1
我相信您可能正在谈论生成一个 ical 字符串。这似乎在这里涵盖:https ://stackoverflow.com/a/2946423/52160
于 2014-10-19T10:32:10.467 回答