Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Google Cal Feed为事件实现日历界面的最佳方法?_Php_Calendar_Icalendar_Google Calendar Api - Fatal编程技术网

Php 使用Google Cal Feed为事件实现日历界面的最佳方法?

Php 使用Google Cal Feed为事件实现日历界面的最佳方法?,php,calendar,icalendar,google-calendar-api,Php,Calendar,Icalendar,Google Calendar Api,我正在为我的学校建立一个网站作为一个宠物项目,其中包括所有学生的帐户。我想为每个学生显示一个日历,该日历应具有以下功能: 它应该能够从多个Google日历提要导入事件。与XML、ICAL或HTML提要兼容即可 它应该能够给不同的事件赋予不同的颜色,这取决于它们来源的提要 如果日历也能根据事件标题中的特定标记给出不同的颜色,那就太好了,比如所有以“Test:”开头的事件都是红色的,而所有以“Deadline:”开头的事件都可以是蓝色的 界面应该很好,但是很简单。它应该很容易实现,并且对Javas

我正在为我的学校建立一个网站作为一个宠物项目,其中包括所有学生的帐户。我想为每个学生显示一个日历,该日历应具有以下功能:

  • 它应该能够从多个Google日历提要导入事件。与XML、ICAL或HTML提要兼容即可

  • 它应该能够给不同的事件赋予不同的颜色,这取决于它们来源的提要

  • 如果日历也能根据事件标题中的特定标记给出不同的颜色,那就太好了,比如所有以“Test:”开头的事件都是红色的,而所有以“Deadline:”开头的事件都可以是蓝色的

  • 界面应该很好,但是很简单。它应该很容易实现,并且对Javascript没有依赖性。它最好只在PHP上工作

  • 它必须提供日历的3个视图:月、周和日程

我不需要的功能包括:

  • 写入能力(日历可以/应该是只读的)
  • 多日事件或重复事件
  • 事件中的链接或html内容
实现这一点最简单的预先制定的解决方案是什么?目前,我正在尝试各种解决方案,如FullCalendar,以及在中列出的各种解决方案。然而,它们都不是完美的,因为它们要么不再受支持,要么需要javascript,要么没有我需要的所有特性。我还将检查GWT cal插件和Zend Calendar GData框架,但是任何关于您使用这些插件的体验的反馈都是好的


有人能推荐最简单的方法让它工作吗?

你应该看看gwt cal。版本0.8.x只提供日/周视图,但0.9.0分支实现了一个议程视图,其中一个月视图正在进行中。

首先,GWT cal不是PHP,而是Java。其次,为什么不想使用JavaScript?最后,如果您要从Google Calendar导入所有内容,为什么不使用Google Calendar,因为它几乎包含了您所请求的所有内容,并且可以处理所有用户帐户等等


我对该项目的理解是,您试图创建一个页面,显示所有学生的许多不同日历,或者让每个学生登录并查看他们的日历。是这样吗?

好吧,评论的字数限制低得离谱,令人恼火,所以在发表了两条评论后,我决定只发表一个答案。对不起

是的,GCal是完美的,但我不能相信我学校的技术挑战学生手动订阅ical提要。所以我想提供一个网站,人们可以从课程列表中进行选择,并自动获得定制的活动提要

现在,我有了一个大致的实现,创建了一个通用的谷歌帐户,每个课程都有单独的日历。然后,通过一些url技巧,我嵌入了一个自定义iframe,它提供了一个特殊的只读版本的日历,其中只包含适用于该特定用户的日历。这可能会在我需要事件和内容的电子邮件通知时引发问题,并可能迫使我进入谷歌日历API的详细信息:(

你能在上查看我的另一个问题并给出一些反馈吗?

我会构建(或找到)一个应用程序,将选定的iCal提要混合在一起创建一个新提要,以便可以在GCal/iCal/Outloook/30box/中订阅

如果仍然需要显示,可以尝试WebCalendar


IIRC也有一些Drupal模块用于这种类型的东西。

是的,我也检查过了,但据我所知,这将要求我在网站的其余部分也使用GWT,或者至少在页面的其余部分使用GWT。我不能依赖学校为我提供Java服务器。GWT不需要Java服务器。GWT将Java代码编译为javasc因此,它可以从任何标准web服务器运行,甚至可以从桌面上的html文件运行。除非您使用GWT rpc方法与服务器通信,否则GWT仅为客户端。您将使用json(由php应用程序提供)代替GWT的rpc为了使日历具有交互性。我不是在推动gwt……但只是想澄清任何误解。您还可以查看google web elements,它允许您在页面上托管一个google日历小部件:是的,据我所知,gwt的一些前端部分转换为Javascript,而其余部分作为Java服务器后端。我我不太确定,我将再次深入研究GWT文档。但我真的不喜欢谷歌的文档记录方式,它的开始非常麻烦。是的,我检查了这个小部件,目前正在使用类似的东西。查看我对下一个答案的评论和我的其他问题的详细信息:是的,在理想的世界中,我们的学校他们会转向谷歌应用程序,而不是使用像Lotus这样的古老的弱智软件,但是,我想他们不想浪费他们的Lotus机构许可证,毕竟,自由软件怎么能比付费软件更好呢?老师们不会局限于只在学校可以访问的学校域邮件ID,我们不需要c在通过电子邮件发送给他们之前,先将每个word文档转换为较旧的格式,因为文档可以处理.docx文件,而且我们不会随意地以word文档中的表格的形式获取每月的日程安排。您有没有进一步的解决方案?我知道我要做的是尝试理解ical格式,然后用stud创建一个数据库ents、天和项目。ical格式被处理并放入数据库。根据请求,日历被呈现为带有特定html类的表,具体取决于名称和学生的regex。在日历生成器中很难找到该功能。是的,这正是我使用嵌入式Googl所做的